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

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

在 JSON 數組中查找對象并為其添加值

在 JSON 數組中查找對象并為其添加值

呼喚遠方 2022-12-22 13:10:03
我有一個像這樣的 JSON 數組:[  {    id: 1,    name: 'John'  },  {    id: 2,    name: 'Jack'  },  {    id: 3,    name: 'Peter'  }]我想通過它找到一個對象id并添加一個deleted: true。我想知道最簡單的方法是什么。
查看完整描述

3 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

您可以使用下面的通用函數,它需要您傳遞要更新的對象的數組和 ID。


var arr = [

  {

    id: 1,

    name: 'John'

  },

  {

    id: 2,

    name: 'Jack'

  },

  {

    id: 3,

    name: 'Peter'

  }

];


 function addProperty(data,id){

data.forEach(obj => {

  if(obj.id === id){

    obj['deleted'] = true;

  }

});

   return data;

 }


let id = 1;

console.log(addProperty(arr, id));


查看完整回答
反對 回復 2022-12-22
?
智慧大石

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

您可以使用Array.prototype.find這將是最簡單的方法


let users = [

  {

    id: 1,

    name: 'John'

  },

  {

    id: 2,

    name: 'Jack'

  },

  {

    id: 3,

    name: 'Peter'

  }

];

let id = 3;

let foundUser = users.find(user => user.id === id);


console.log('Users before modification', users);

foundUser.deleted = true;

console.log('Users after modification', users);


查看完整回答
反對 回復 2022-12-22
?
慕婉清6462132

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

試試這個:


var array = [

    {

        id: 1,

        name: 'John'

    },

    {

        id: 2,

        name: 'Jack'

    },

    {

        id: 3,

        name: 'Peter'

    }

]


for (var item in array){

    if (array[item].id === 1){

        array[item].deleted = true;

        break;

    }

}

console.log(array)

它所做的是遍歷數組中的每個項目。然后它檢查相應的索引項是否具有我們要查找的值。如果是,它會添加一個true名為的屬性deleted并跳出循環。



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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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