我正在尝试从数组数组中删除数组元素。但是我做不到。

JS代码:

var blueTiles = [];
blueTiles.push([1, 1]);
blueTiles.push([2, 2]);
blueTiles.push([3, 3]);

var removeCoord = [2, 2];

var index = blueTiles.indexOf(removeCoord);
if (index > -1) blueTiles.splice(index, 1);

但是在这里我试图使用拼接函数在blueTile数组中删除数组元素的位置。
但是即使[2,2]存在,我也得到索引值为-1

请帮助我解决这个问题。

最佳答案

使用它作为索引(对照remoceCoord元素检查所有数组元素)

var index = blueTiles.findIndex(x=>x.every((y,i)=>y===removeCoord[i]))

var blueTiles = [];
blueTiles.push([1, 1]);
blueTiles.push([2, 2]);
blueTiles.push([3, 3]);

var removeCoord = [2, 2];

var index = blueTiles.findIndex(x => x.every((y, i) => y === removeCoord[i]))
if (index > -1) blueTiles.splice(index, 1);

console.log(blueTiles)

关于javascript - 如何在js中删除数组数组中的数组元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61844885/

10-11 11:52