如何将此ans数组划分为n个相等的部分?
如果提供的输入是1-100,我希望输出以10个为大块,并在单独的行中显示。
function range(start, end) {
var ans = [];
for (let i = start; i <= end; i++) {
ans.push(i);
}
return ans;
}
答案 0 :(得分:1)
与此:
Array.prototype.chunk = function ( n ) {
if ( !this.length ) {
return [];
}
return [this.slice(0, n)].concat(this.slice(n).chunk(n));
};
然后:
const splittendAns = ans.chunk(20);
在最后一行中,将数组分成长度为20
的块。
请按以下示例操作:
// Suppose I have this array
// I want to split this array in 5 length arrays
const array = [
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
];
Array.prototype.chunk = function ( n ) {
if ( !this.length ) {
return [];
}
return [this.slice(0, n)].concat(this.slice(n).chunk(n));
};
const splittedArray = array.chunk(5);
console.log(array);
console.log('-----');
console.log(splittedArray);
输出:
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ]
-----
[ [ 1, 2, 3, 4, 5 ], [ 6, 7, 8, 9, 10 ], [ 11, 12, 13, 14, 15 ] ]