执行这段代码,你会发现修改了[0][0]的值,[1][0]也发生了改变
let newArr = new Array(arr.length).fill(new Array(aNum).fill([]))
newArr[0][0] = [12345]
console.log('newArr', newArr)
源代码,分数据的小算法
if (arr.length) {
let _Data = JSON.parse(JSON.stringify(data[i]))
let newArr = new Array(arr.length).fill(new Array(aNum).fill([]))
let _num = 0
let _index = arr[_num]
for (let j = 0; j < _Data.length; j++) {
let iData = JSON.parse(JSON.stringify(_Data[j]))
_index = _index - iData.length
if (_index <= 0) {
const newData = iData.splice(_index)
newArr[_num][j] = iData
_num++
_index = arr[_num]-arr[_num-1]
newArr[_num][j] = newData
} else {
newArr[_num][j] = iData
}
}
resArr.push(...newArr)
} else {
resArr.push(data)
}
应该改成这样,引用传递的问题
let newArr = new Array(arr.length);
for (let i = 0; i < newArr.length; i++) {
newArr[i] = new Array(aNum).fill([]);
}
有点感慨,突然发现自己也能写一些小算法了