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

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

在javascript中根據另一個數組更改對象數組的值

在javascript中根據另一個數組更改對象數組的值

當年話下 2023-10-14 18:30:23
我有兩個數組。let arr1 = [{id: 1, favorite: false}, {id: 2, favorite: false}, {id: 3, favorite: false}]; let arr2 = [1, 3];如果 id 存在于 中arr2,我想將(該特定對象的)更改favorite為true例如。在上面的例子中,最終的結果arr1會是這樣的[{id: 1, favorite: true}, {id: 2, favorite: false}, {id: 3, favorite: true}];
查看完整描述

3 回答

?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

您可以使用.map迭代arr1并.includes檢查該項目是否id位于arr2:


const arr1 = [

  {id: 1, favorite: false}, 

  {id: 2, favorite: false}, 

  {id: 3, favorite: false}

];

const arr2 = [1, 3];


const res = arr1.map(e => 

  ({...e, favorite: arr2.includes(e.id)})

);


console.log(res);


查看完整回答
反對 回復 2023-10-14
?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

您還可以使用 some如下方法:


const newArr = arr1.map(item =>  { return { ...item, favorite: arr2.some(elem => elem === item.id) } })


查看完整回答
反對 回復 2023-10-14
?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

您還可以使用forEach和includes。


let arr1 = [{id: 1, favorite: false}, {id: 2, favorite: false}, {id: 3, favorite: false}];

let arr2 = [1, 3];


arr1.forEach(x => x.favorite = arr2.includes(x.id))


console.log(arr1);


查看完整回答
反對 回復 2023-10-14
  • 3 回答
  • 0 關注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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