let a =[1,2,3,4,5];
let b = [[1,2],[3,4],5]
如何快速实现上述a->b的操作?
a.reduce((arr, item, index) => {
index%2===0 && arr.push([item]);
index%2===1 && arr[arr.length-1].push(item);
return arr;
}, [])
function piecewise(ary, size) {
var ary = ary.slice()
len = ary.length,
retAry = []
if ( len < size ) {
return [ary];
}
var count = Math.floor(len / size) + (len % size == 0 ? 0 : 1)
while(count--) {
retAry.push(ary.splice(0, size))
}
return retAry
}
var ary = [1,2,3,4,5]
piecewise(ary, 2)
希望对你有帮助
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
如果上面能看懂,再给一个简化版的