Javascript数组拆分与开头单词(如连续数字)
你能帮助我吗?我有一个名为baseArray. 如您所见,有些值是相同的,我尝试删除重复值,但没有完全奏效。
然后我尝试拆分数组
[[1,2,3,4,5,6,7], [1,2,4,5,6,7], [1,2,3,4,5,6,7,8,9,10..]..]
[[1,2,3,4,5,6,7], [1,2,4,5,6,7], [1,2,3,4,5,6,7,8,9,10..]..]
我想拆分每个数字系列以数字 1 开头
回答
使用 Array#reduce
const baseArray = [1,2,3,4,5,6,7,7,7,1,1,2,2,3,3,4,4,5,5,6,6,7,7,1,2,3,4,5,6,7,8,9,10,11,12,12,12,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,1,2,3,4,5,6,7,8,9,10,11,12,13,13,13,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,1,2,3,4,5,6,6,6,1,1,2,2,3,3,4,4,5,5,6,6,1,2,3,4,5,6,7,8,9,10,10,10,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,1,2,3,4,5,6,6,6,1,1,2,2,3,3,4,4,5,5,6,6,1,2,3,4,5,6,7,8,9,9,9,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,1,2,3,4,5,6,7,8,9,10,10,10,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,1,2,3,4,5,6,7,8,9,10,11,11,11,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,1,2,3,4,5,5,5,1,1,2,2,3,3,4,4,5,5];
const editedArray = baseArray.reduce((acc, num, i, arr) => {
if (arr[i - 1] !== num) {
if (num === 1) acc.push([num]);
else acc[acc.length - 1].push(num);
}
return acc;
}, []);
console.log(editedArray);