我想要将值为3的行拼接起来
[3,"John", 90909090]
data.json
{
"headers":[[
{"text":"Code","class":"Code"},
{"text":"Code","class":"Code"}
]],
"rows":[
[0,"Peter", 51123123],
[3,"John", 90909090],
[5,"Mary",51123123]
],
"config":[[0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],
"other":[[13,0]]
}
我尝试了这个:
var size = data.rows.length; // number of rows
var del = 3 // Value of ID to be deleted
for (i = 0; i < size; i++) {
var id = data.rows[i][0];
if(del==id){ // if del = id -> splice
data.rows.splice(i,1);
}
}
结果:
只使用splice或仅使用循环,此代码可以正常工作。
但是,两者一起使用会显示以下错误:
Uncaught TypeError: Cannot read property '0' of undefined(…)
它出现在"data.rows[i][0]"处。
size
变量;直接与data.rows.length
进行比较即可。如果你这样做了,就不会遇到这个错误。(你也将继续处理更多的条目。是否要这样做取决于数组中是否可能出现多个3
...) - T.J. Crowder