function filterByThreshold(nodeModel, totalArea, sum, orderBy, orderedChildren) {

    // visibleMin is not supported yet when no option.sort.
    if (!orderBy) {
        return sum;
    }

    var visibleMin = nodeModel.get('visibleMin');
    var len = orderedChildren.length;
    var deletePoint = len;

    // Always travel from little value to big value.
    for (var i = len - 1; i >= 0; i--) {
        var value = orderedChildren[
            orderBy === 'asc' ? len - i - 1 : i
        ].getValue();

        if (value / sum * totalArea < visibleMin) {
            deletePoint = i;
            sum -= value;
        }
    }

    orderBy === 'asc'
        ? orderedChildren.splice(0, len - deletePoint)
        : orderedChildren.splice(deletePoint, len - deletePoint);

    return sum;
}
function filterByThreshold(nodeModel, totalArea, sum, orderBy, orderedChildren) {

    // visibleMin is not supported yet when no option.sort.
    if (!orderBy) {
        return sum;
    }

    var visibleMin = nodeModel.get('visibleMin');
    var len = orderedChildren.length;
    var deletePoint = len;

    // Always travel from little value to big value.
    for (var i = len - 1; i >= 0; i--) {
        var value = orderedChildren[
            orderBy === 'asc' ? len - i - 1 : i
        ].getValue();

        if (value / sum * totalArea < visibleMin) {
            deletePoint = i;
            sum -= value;
        }
    }

    orderBy === 'asc'
        ? orderedChildren.splice(0, len - deletePoint)
        : orderedChildren.splice(deletePoint, len - deletePoint);

    return sum;
}
function filterByThreshold ( nodeModel , totalArea , sum , orderBy , orderedChildren ) { // visibleMin is not supported yet when no option.sort. if ( ! orderBy ) { return sum ; } var visibleMin = nodeModel . get ( 'visibleMin' ) ; var len = orderedChildren . length ; var deletePoint = len ; // Always travel from little value to big value. for ( var i = len - 1 ; i >= 0 ; i -- ) { var value = orderedChildren [ orderBy === 'asc' ? len - i - 1 : i ] . getValue ( ) ; if ( value / sum * totalArea < visibleMin ) { deletePoint = i ; sum -= value ; } } orderBy === 'asc' ? orderedChildren . splice ( 0 , len - deletePoint ) : orderedChildren . splice ( deletePoint , len - deletePoint ) ; return sum ; }
Consider 'visibleMin'. Modify viewChildren and get new sum.
Consider visibleMin . Modify viewChildren and get new sum .
Filter by Threshold