我有以下代码段。我想使用具有键的数组删除键值对。
var fruits = [{ fruitId: B1, fruitName:"Banana", size : Medium}, { fruitId: B2, fruitName: "Orange", size : Big}, { fruitId: B3, fruitName: "Lemon", size: small}];
var fruitIds = [B1, B2];
现在我想在使用fruitIds数组切片后切割fruits数组。我希望切片后的结果为
var fruits = [{ fruitName: "Lemon", size: small}];
我需要纯粹的Javascript。
答案 0 :(得分:6)
您可以使用Array.prototype.filter
:
var fruits = [
{
fruitName : "Banana",
size : 'Medium'
},
{
fruitName : "Orange",
size : 'Big'
},
{
fruitName : "Lemon",
size : 'small'
}
];
var fruitNames = ['Banana', 'Orange'];
var result = fruits.filter(function (x) {
return fruitNames.indexOf(x.fruitName) === -1;
});
document.body.innerHTML = "<pre>" + JSON.stringify(result, null, 4) + "</pre>";
它仅输出Lemon
,因为fruitNames
数组中存在其他两个项目。