javascript - 如何在对象内打印Javascript数据数组
问题描述
我有学生的详细信息;如何获得我的预期输出?在一个对象中,我希望学生的姓名作为键,他们的车名数组作为值
let empArray = [{
"name": "soma",
"cars Details": [{
"name": "audi",
"cost": 120000,
"Speed": "150Km/hr"
}, {
"name": "toyota",
"cost": 120000,
"Speed": "150Km/hr"
}],
"salary": 40000
},
{
"name": "steven",
"cars Details": [{
"name": "bmw",
"cost": 120000,
"Speed": "150Km/hr"
}],
"salary": 70000
},
{
"name": "booth",
"cars Details": [{
"name": "swift",
"cost": 120000,
"Speed": "150Km/hr"
}, {
"name": "audi",
"cost": 120000,
"Speed": "150Km/hr"
}],
"salary": 35000
},
]
let a = {}
var ids = [];
for (let i = 0; i < empArray.length; i++) {
a = empArray[i]["cars Details"]
console.log(a)
}
预期产出
{soma :["audi","toyota"],steven:["bmw"],booth:["swift","audi"]}
解决方案
let empArray = [{ "name": "soma", "cars Details": [{ "name": "audi", "cost": 120000, "Speed": "150Km/hr" }, { "name": "toyota", "cost": 120000, "Speed": "150Km/hr" }], "salary": 40000 }, { "name": "steven", "cars Details": [{ "name": "bmw", "cost": 120000, "Speed": "150Km/hr" }], "salary": 70000 }, { "name": "booth", "cars Details": [{ "name": "swift", "cost": 120000, "Speed": "150Km/hr" }, { "name": "audi", "cost": 120000, "Speed": "150Km/hr" }], "salary": 35000 },]
let dict = {}
empArray.forEach((e) => {
dict[e.name] = e["cars Details"].map((car) => {
return car.name
})
})
console.log(dict)
推荐阅读
- c++ - 如何保证在存储发生之前加载完成?
- sql - SQL 查询优化:在事实表中两次使用相同指标的最佳方法是什么?
- angularjs - 我们可以阻止 AngularJS 将 ng-scope 添加到 Angular 9 组件元素吗?
- c# - IAsyncEnumerable 的早期一次性使用需要永远
- mysql - MySQL Join 和 group by 在同一张表上
- r - 如何过滤 OSM 形状内的所有点?
- reshape - 检查 numpy 数组形状是否为 (),如果是,则重塑为 (1,)
- spring-boot - MapStruct:如何使用 mapstruct 将 String 转换为 byte[]
- android - 如何更改gradle的设置?
- python - 字节类型序列化的python json问题