我正在尝试自动化我的工作,我正在将一个大数组分解成更小的数组,如下所示:
function splitArray(arr, firstbreak, secondBreak, thirdBreak, fourthBreak) {
var split1 = arr.slice(0, firstbreak);
var split2 = arr.slice(firstbreak, firstbreak + secondBreak);
var split3 = arr.slice(firstbreak + secondBreak, firstbreak + secondBreak + thirdBreak);
var split4 = arr.slice(firstbreak + secondBreak + thirdBreak, firstbreak + secondBreak + thirdBreak + fourthBreak);
console.log(split1); //[1,2,3]
console.log(split2); //[4,5,6,7]
console.log(split3); //[8]
console.log(split4); //[9,10]
}
splitArray([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 2, 4, 3, 1, 2)
我怎样才能自动化这个?我尝试了一个 for 循环,但有点卡住了我似乎无法获得重复的公式......
最佳答案
您可以收集长度并映射零件数组。
function splitArray(array, ...lengths) {
return lengths.map((i => l => array.slice(i, i += l))(0));
}
console.log(splitArray([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 2, 4, 3, 1, 2))
.as-console-wrapper { max-height: 100% !important; top: 0; }
关于javascript - 有人可以帮助我使用这种从某些值拆分数组的算法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62858363/