0
var array = [{
    name: "Mango",
    weight: "15gm"
}, {
    name: "Banana",
    weight: "10gm"
}, {
    name: "Apple",
    weight: "15gm"
}, {
    name: "Grapes",
    weight: "5gm"
}, {
    name: "Banana",
    weight: "15gm"
}];

我想删除除香蕉以外的所有内容。

4

2 回答 2

2

这里

array.filter(function(x) {
    return x.name == "Banana";
});

所以给定这个输入:

[{"name":"Mango","weight":"15gm"},{"name":"Banana","weight":"10gm"},{"name":"Apple","weight":"15gm"},{"name":"Grapes","weight":"5gm"},{"name":"Banana","weight":"15gm"}]

我们得到这个输出:

[{"name":"Banana","weight":"10gm"},{"name":"Banana","weight":"15gm"}]
于 2015-06-23T07:04:06.447 回答
1

在上面的数组中,当我使用拼接方法删除数组元素时,我的数组长度减 1,所以我必须考虑索引 i。以下是删除此类对象的代码。

for(var i=0;i<array.length;i++){
   if(array[i].name !== "Banana"){
       array.splice(i,1);
       i--;
   }
}
于 2015-06-23T07:06:28.910 回答