亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據特定值檢查 Javascript 中 Array 中對象是否存在

根據特定值檢查 Javascript 中 Array 中對象是否存在

斯蒂芬大帝 2022-08-04 09:55:25
我有一個對象數組,并且僅當數組中尚不存在該對象時才要添加該對象。數組中的對象有2個屬性,name和imageURL和2個對象只有在名稱相同時才相同,因此我希望僅比較名稱以檢查對象是否存在 如何實現此作為條件??
查看完整描述

3 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

您可以使用Array.find


let newObj={ name:'X',imageURL:'..../'}

if(!array.find(x=> x.name == newObj.name))

   array.push(newObj)


查看完整回答
反對 回復 2022-08-04
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

您需要使用或類似的函數進行檢查,如下所示:find





const arr = [{ name: 1 }, { name: 2 }];


function append(arr, newEl) {

  if (!arr.find(el => el.name == newEl.name)) {

    arr.push(newEl);

  }

}


append(arr, { name: 2 }); // won't be added

console.log(arr);


append(arr, { name: 3 }); // will be added

console.log(arr);

 Run code snippetHide resultsExpand snippet


查看完整回答
反對 回復 2022-08-04
?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

由于您沒有提到使用的變量。我將假設“arr”作為數組,“person”作為要檢查的新對象。


const arr = [{name: 'John', imageURL:'abc.com'},{name: 'Mike', imageURL:'xyz.com'}];

const person = {name: 'Jake', imageURL: 'hey.com'};

if (!arr.find(

      element => 

      element.name == person.name)

    ) {

       arr.push(person);

    };

如果名稱不相同,則不會將 person 對象推送到數組中。


查看完整回答
反對 回復 2022-08-04
  • 3 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號