我有以下数组...
var arr = [1,2,3,4,5,6,7,8,9]
我需要将其转换为以下...
var newArr = [
[1,4,7],
[2,5,8],
[3,6,9],
];
这甚至可能吗?
我有以下数组...
var arr = [1,2,3,4,5,6,7,8,9]
我需要将其转换为以下...
var newArr = [
[1,4,7],
[2,5,8],
[3,6,9],
];
这甚至可能吗?
当然有可能;像这样的东西应该工作。
function manipulate(array, amount) {
// The array to return
var ret = [];
// Add the first few values to the array
// ret = [[1],[2],[3]];
for (var i=0;i<amount;i++) {
ret.push([array.shift()]);
}
// Now push the last few values on there.
for (var i=0;array.length;i = ++i % amount) {
ret[i].push(array.shift());
}
return ret;
}
然后像这样称呼它;
manipulate(arr, 3);