javascript - 循环遍历对象数组并更改 JavaScript 中键的值
问题描述
我有以下 json 数组,我从我的 Angular 应用程序中的服务响应中解构了它。
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 时,它是一个未定义值的数组。这是最好的方法还是我在这里做错了什么。
提前致谢。
解决方案
您只需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()
推荐阅读
- xcode - macOS 单元测试中的 NSAllowsArbitraryLoads
- kubernetes - 如何跳过 Argo 工作流程的步骤
- java - 用实际值替换字符串中的变量 - Groovy
- javascript - 如何正确拆分 url 然后在 javascript 中获取剩余部分?
- sql - 来自多个表的聚合不计算在内
- python - 如何在 python 中创建列表?
- reactjs - 如何对齐表格分页内部组件(标题、操作)
- android - 在 recyclerview 中使用 ItemTouchHelper 控制滑动项目速度
- javascript - 我的 JavaScript 按钮只有在我不先编辑字段内容时才会运行
- core-data - 将用户生成的图像保存到核心数据时出现运行时错误(Swift5)