javascript - 循环遍历多个对象的所有键
问题描述
大家好,我有同样的问题,我不想在数组中添加循环对象,这是我的数组
const arrayDatas = [
0: {id:234, name: eric},{id:235, name: thomas},{id:236, name: louvin},
1: {id:230, name: jason},{id:233, name: lois},{id:238, name: serge},{id:237, name: natasha},{id:236, name: berthe}
]
所需的输出循环以添加每个键的所有 id arrayDatas
0: [234, 235, 236],
1: [230, 233, 238, 237, 236]
那不是我的尝试
products() {
const details = Object.entries(arrayDatas);
let detailsProducts = [];
details.forEach(([key, val]) => {
detailsProducts.push(val.id);
});
return detailsProducts;
}
不工作请帮忙
解决方案
arrayDatas.map(details => details.map(d => d.id))
工作示例:
const arrayDatas = [
[{id:234, name: 'eric'},{id:235, name: 'thomas'},{id:236, name: 'louvin'}],
[{id:230, name: 'jason'},{id:233, name: 'lois'},{id:238, name: 'serge'},{id:237, name: 'natasha'},{id:236, name: 'berthe'}]
];
console.log(arrayDatas.map(details => details.map(d => d.id)))
或者你也可以使用嵌套的 for 循环:
const arrayDatas = [
[{id:234, name: 'eric'},{id:235, name: 'thomas'},{id:236, name: 'louvin'}],
[{id:230, name: 'jason'},{id:233, name: 'lois'},{id:238, name: 'serge'},{id:237, name: 'natasha'},{id:236, name: 'berthe'}]
];
let result = [];
for(let details of arrayDatas) {
let currentDetails = []
for(let d of details) {
currentDetails.push(d.id);
}
result.push(currentDetails);
}
console.log(result);
推荐阅读
- google-ima - 广告视频完成/完成时的 Google IMA 事件
- android - 为什么索引显示-1?
- java - JUnit5挂毯消息NoSuchMethodError
- ios - 如何在数组中发送单引号作为参数,因为我正在使用 alamofire 调用 api?
- c - C程序获取jar文件的版本
- git - 阻止带有秘密或密码的代码提交
- javascript - 谷歌地图地理编码器未定义
- amazon-web-services - QuickSight:如何根据添加的参数中提供的输入使用 ifelse() 或任何其他替代方法来处理多个条件?
- javascript - mobx 列表已更新,但重新渲染不起作用
- node.js - 是否可以从使用 Express 创建的 CRUD 中删除锚标记?