javascript-如何将数组拆分为n个组? (分解或_.partition数组)

这个问题已经在这里有了答案:            >            Partitioning in JavaScript                                     7个
假设我有一个数组= [0,1,2,3,4,5,6],并且我想根据除以3后的提示将其“划分”为3个数组.

所以基本上我想要这样的东西:

_.my_partition([0,1,2,3,4,5,6], function(item) {return item % 3;})
// [[0,3,6], [1,4],[2,5]]

(如果ti有帮助,我可以使用lodash,下划线…)

解决方法:

有多种方法可以执行此操作:

一,正常功能

function partition(items, n) {
    var result = _.groupBy(items, function(item, i) {
        return Math.floor(i % n);
    });
    return _.values(result);
}

myArray = [1,2,3,4,5,6,7,8,9,10];
partition(myArray, 3);

II.添加原型方法

Array.prototype.partition = function(n) {
    var result = _.groupBy(this, function(item, i) {
        return Math.floor(i % n);
    });
    return _.values(result);
}

myArray = [1,2,3,4,5,6,7,8,9,10];
myArray.partition(3)

创建一个_.partitionToGroups方法

_.partitionToGroups = function(items, n) {
    var result = _.groupBy(items, function(item, i) {
        return Math.floor(i % n);
    });
    return _.values(result);
}

myArray = [1,2,3,4,5,6,7,8,9,10];
_.partitionToGroups(myArray, 3);
上一篇:javascript-多级对象-基于键的破坏性合并


下一篇:Python math.nan 常量