代码:
const initIndexArray: any = Array(16).fill([]).map(() => Array(20).fill({value:''}))
效果:
(题外话:)
如果code过程中:发现给数组的其中一个元素赋值,其他元素也被赋值了,因为数组是引用类型,数组变量存储在栈,元素数据存储在堆中,将数组赋值不同的对象,所以的赋值对象都指向堆同一个数据,所以改变其中一个数组中的元素,别的数组元素也会改变。
解决方案:
const newArr = initGroup.map((element: any[], map_index: number) => {
if(map_index == lineIndex) {
const eleObj = JSON.parse(JSON.stringify(element))
eleObj[index].value = currentValue === 'O' ? 'X' : 'O'
return eleObj
}else {
return element
}
});