Ben*_*ell 0 javascript arrays chunking
让我说我有这个
var array =[23,345,6,765,54423,45654,7657,43,43,5,765,3456,768,897,545,645,87,4556,432,543,534];
var chunkEachBy = [3,2,1,5,6,4];
var chunked = [];
for(var i =0, l = chunkEachBy.length; i < l; i++)
{
chunked.push(array.splice(0, chunkEachBy[i]));
}
Run Code Online (Sandbox Code Playgroud)
输出:
[Array[3], Array[2], Array[1], Array[5], Array[6], Array[4]]
Run Code Online (Sandbox Code Playgroud)
它只是简单地array进入长度chunkEachBy,然后为每个值组合每个值chunkEachBy.
我的问题是,在这种情况下,不是将结果推送到一个单独的数组中,而是chunked将这一切都完成到原始数组并产生相同的结果吗?
JSFiddle - https://jsfiddle.net/b7twnurm/1/
Sig*_*uza 10
使用splice带i索引的double :
array.splice(i, 0, array.splice(i, chunkEachBy[i]));
Run Code Online (Sandbox Code Playgroud)
说明:
i指向array我们尚未处理的第一个元素,或者在我们添加的最后一个元素之后.
将splice采取两个参数(array.splice(i, chunkEachBy[i]))删除一个数的元素array从位置i,和一个以三个参数插入他们全部回到他们只是从所采取的立场,但现在作为一个数组(因为这是array.splice返回).
另请参阅array.splice文档以获取第三个参数.
更新小提琴:https://jsfiddle.net/b7twnurm/2/
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |