一尘不染

Javascript对象push()函数

json

我有一个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不是函数。我知道为什么它与数组不一样,但是我该怎么办?


阅读 2819

收藏
2020-07-27

共1个答案

一尘不染

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;
2020-07-27