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

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

循環遍歷對象數組并更改 JavaScript 中鍵的值

循環遍歷對象數組并更改 JavaScript 中鍵的值

RISEBY 2023-07-29 15:47:19
我有以下 json 數組,它是我從角度應用程序中的服務響應中解構的。this.selectedList = [  [    {      "meterNumber": "Z00001410",      "utilType": "elec",      "mprnGprn": "3100000334",      "isChecked": true    },    {      "meterNumber": "Z00001410",      "utilType": "gas",      "mprnGprn": "1000003344",      "isChecked": true    }  ],  [    {      "meterNumber": "Z00001410",      "utilType": "elec",      "mprnGprn": "1000003344",      "isChecked": true    }  ],  [    {      "meterNumber": "Z00001410",      "utilType": "elec",      "mprnGprn": "1000003344",      "isChecked": true    }  ]]我需要做的是迭代列表并在單擊事件上將isChecked值更改為 false。我嘗試過以下方法  selectAll(){    this.selectedList = this.data.reportList.map((meter) => meter.pm);    this.newList = this.selectedList.map((data) => {      data.forEach(item => item.isChecked = false);  });  console.log(this.newList);  }上面的代碼將值更改為 false,但是當我嘗試控制臺 newList 時,它是一個未定義值的數組。這是執行此操作的最佳方法還是我在這里做錯了什么。
查看完整描述

2 回答

?
暮色呼如

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

您只需要從return data地圖的每次迭代中添加:


this.selectedList = [

  [{

      "meterNumber": "Z00001410",

      "utilType": "elec",

      "mprnGprn": "3100000334",

      "isChecked": true

    },

    {

      "meterNumber": "Z00001410",

      "utilType": "gas",

      "mprnGprn": "1000003344",

      "isChecked": true

    }

  ],

  [{

    "meterNumber": "Z00001410",

    "utilType": "elec",

    "mprnGprn": "1000003344",

    "isChecked": true

  }],

  [{

    "meterNumber": "Z00001410",

    "utilType": "elec",

    "mprnGprn": "1000003344",

    "isChecked": true

  }]

]


selectAll = () => {

  this.newList = this.selectedList.map((data) => {

    data.forEach(item => {item.isChecked = false});

    return data;

  });

  console.log(this.newList);

}


selectAll()


查看完整回答
反對 回復 2023-07-29
?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

請記住,使用地圖時需要返回一個值。這是一個可行的解決方案:


this.selectedList = [

  [

    {

      "meterNumber": "Z00001410",

      "utilType": "elec",

      "mprnGprn": "3100000334",

      "isChecked": true

    },

    {

      "meterNumber": "Z00001410",

      "utilType": "gas",

      "mprnGprn": "1000003344",

      "isChecked": true

    }

  ],

  [

    {

      "meterNumber": "Z00001410",

      "utilType": "elec",

      "mprnGprn": "1000003344",

      "isChecked": true

    }

  ],

  [

    {

      "meterNumber": "Z00001410",

      "utilType": "elec",

      "mprnGprn": "1000003344",

      "isChecked": true

    }

  ]

]


selectAll = () => {

    this.selectedList = this.selectedList.map(subArray => {

        subArray.forEach(_ => _.isChecked = false);

        return subArray;

    });

    console.log(this.selectedList)

}


selectAll();


查看完整回答
反對 回復 2023-07-29
  • 2 回答
  • 0 關注
  • 224 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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