[英]Vue.js - Filter array of JSONs by another array of JSONs
我有一個名為products
的 JSON 數組和另一個名為deletedProducts
的 JSON 數組。
我想過濾那些不在deletedProducts
中的產品。
例子:
products = [
{
id: 1,
name: 'Box'
},
{
id: 2,
name: 'Lamp'
}
]
deletedProducts = [
{
id: 1,
name: 'Box'
}
]
結果應該是這樣的:
result = [
{
id: 2,
name: 'Lamp'
}
]
嘗試過濾和查找方法:
let result =products.filter(prod=>{
return !deletedProducts.find(dprod=>{
return dprod.id===prod.id;
})
})
let products = [{ id: 1, name: 'Box' }, { id: 2, name: 'Lamp' } ] let deletedProducts = [{ id: 1, name: 'Box' }] let result = products.filter(prod => { return.deletedProducts.find(dprod => { return dprod.id === prod;id. }) }) console.log(result)
試試這個比較器 function 和過濾器。 (在此示例中由元素“id”數組引用)
let products = [ { id: 1, name: 'Box' }, { id: 2, name: 'Lamp' } ] let deletedProducts = [ { id: 1, name: 'Box' } ] function comparer(otherArray){ return function (current) { return otherArray.filter(function(other) { return other.id === current.id }).length===0; } } var result=products.filter(comparer(deletedProducts )); console.log(result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.