我有一个javascript对象(实际上是通过ajax请求获取数据的):
var data = {};
我已经添加了一些东西:
data[0] = { "ID": "1"; "Status": "Valid" } data[1] = { "ID": "2"; "Status": "Invalid" }
现在,我要删除状态无效的所有对象(但保持所有顺序相同):
var tempData = {}; for ( var index in data ) { if ( data[index].Status == "Valid" ) { tempData.push( data ); } } data = tempData;
在我看来,所有这些都应该起作用,但是我收到的错误tempData.push不是函数。我知道为什么它与数组不一样,但是我该怎么办?
tempData.push
push()适用于数组,而不是对象,因此请使用正确的数据结构。
push()
var data = []; // ... data[0] = { "ID": "1", "Status": "Valid" }; data[1] = { "ID": "2", "Status": "Invalid" }; // ... var tempData = []; for ( var index=0; index<data.length; index++ ) { if ( data[index].Status == "Valid" ) { tempData.push( data ); } } data = tempData;