[英]Unable to find whether an object exists in an Array Of Objects given object as an input
我是一名初級開發人員,試圖解決一個場景,如果我們嘗試將現有對象添加到數組中,我應該會收到錯誤消息。
輸入 :
{
id: "0",
name: "sdsd"
}
現有數組:
[{
id: "0",
name: "sdsd"
},
{
id: "1",
name: "sds"
},
{
id: "2",
name: "sdf"
}]
我期待該功能類似於
findDuplicate(Array, Object) => 如果存在則返回 true,否則返回 false。
使用some方法,因為它會返回true
/ false
。 如果某些項目匹配true
則返回,否則如果沒有匹配項,它將返回false
(您的回調必須返回一個真/假值)。
let items = [ { id: "0", name: "sdsd" }, { id: "1", name: "sds" }, { id: "2", name: "sdf" } ] // Test "name" console.log(items.some(i => i.name == 'sdsd')) console.log(items.some(i => i.name == 'dog')) // Test "id" console.log(items.some(i => i.id == '0')) console.log(items.some(i => i.id == '100')) // Test both "name" and "id" console.log(items.some(i => i.name == 'sdsd' && i.id == '0')) console.log(items.some(i => i.name == 'sdsd' && i.id == '100'))
您可以像下面這樣使用數組過濾器和數組:
var exist = [{ id: "0", name: "sdsd" }, { id: "1", name: "sds" }, { id: "2", name: "sdf" }]; function findDuplicate(array, object){ var result = array.filter(current=>{ return Object.keys(current).every(key =>{ if (object[key] === current[key]){ return key; } }); }); //console.log(result); if (result.length == 0 ) return false; return true; } console.log (findDuplicate(exist,{id:"0",name:"sdsdf"})); console.log (findDuplicate(exist,{id:"0",name:"sdsd"}));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.