我有一个二维数组,我正在尝试操作/合并类似的条目。我推动-1我标记为删除的数组的第 3 个索引。这是一个示例rowArray:
[
[44,16,0,-1],
[44,16,1,-1],
[44,16,0]
]
在我的 for 循环中,我通过数组递减,如果rowArray[i][3]存在,我试图从矩阵中弹出这个数组。我的问题是if我总是遇到问题。当我使用:
if( rowArray[i][3] )..或if( rowArray[i][3] !== 'undefined')..等等,然后我收到一个类型错误:
Uncaught TypeError: Cannot read property 'length' of undefined
我也试过使用:
if( rowArray[i].length > 3 ) 但这给了我错误: Uncaught TypeError: Cannot read property 'length' of undefined
这是我的代码:
rowArray = [ [44, 16, 0, -1], [44, 16, 1, -1], [44, 16, 0] ];
for (var i = 1; i < rowArray.length; i++) {
if (rowArray[parseInt(i - 1)][0] == rowArray[i][0] && rowArray[parseInt(i - 1)][1] == rowArray[i][1]) {
rowArray[i][2] += parseFloat(rowArray[parseInt(i - 1)][2]);
rowArray[parseInt(i - 1)][3] = -1;
}
}
for (var i = rowArray.length; i >= 0; i--) {
console.log(rowArray[i].length);
if (rowArray[i][3] !== 'undefined') {
rowArray.splice(i, 1);
}
}
预期输出:
[[44,16,1]]
我应该提到我使用的是 jQuery 3.4.0。也愿意为这个问题提供更好的解决方案(一如既往)。
喵喵时光机
相关分类