javascript - 访问另一个对象中的对象值
问题描述
我目前有一个看起来像这样的对象:
{
"Best Fare Description": {
"text": {
"value": "One",
"type": "TEXT"
}
},
"Brand ID": {
"text": {
"value": "test",
"type": "TEXT"
}
},
"Program ID": {
"text": {
"value": "test",
"type": "TEXT"
}
},
"Max Elapse Time": {
"integer": {
"value": 4,
"type": "INTEGER"
}
},
"Max Number of Connections": {
"integer": {
"value": 5,
"type": "INTEGER"
}
}
}
我正在尝试遍历对象并创建一个仅包含值的数组。所以对于这个对象,我会返回一个数组
["One","test","test",4,5]
我试过的:
数据是对象
const tempList = [];
for (var key in data) {
for (var key2 in data[key]) {
for (var key3 in data[key][key2]) {
tempList.push(key3['value'])
}
}
}
但是,似乎我没有做正确的事情,因为当我推入数组时出现未定义或错误。有没有更简单/更有效的方法来实现这一点?任何帮助,将不胜感激!
解决方案
由于动态键,您可以获取值并映射最后一项。
var data = { "Best Fare Description": { text: { value: "One", type: "TEXT" } }, "Brand ID": { text: { value: "test", type: "TEXT" } }, "Program ID": { text: { value: "test", type: "TEXT" } }, "Max Elapse Time": { integer: { value: 4, type: "INTEGER" } }, "Max Number of Connections": { integer: { value: 5, type: "INTEGER" } } },
result = Object.values(data).map(o => Object.values(o)[0].value);
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
推荐阅读
- terraform - 定义的 Terraform 输出为空
- sql - 将 SQL 查询转换为 JPQL - @ManyToMany 连接
- python - 为什么在“为简单的矢量化组件指定稀疏偏导数”视频中附加了一些变量?
- javascript - 从模板自动创建 PDF 文件
- ruby-on-rails - 删除 ActiveRecord[5.1] 上的索引,将 model_id 替换为 nil
- mongodb - 关于MongoDB修复的工作(选项、日志、进度等)
- azure - 我不断让用户登录失败。Azure SQL 中的错误 18456
- javascript - Elm:如何添加 onload div
- reactjs - React-redux 如何在 store 更新时更新组件 props
- python - 生成井字游戏ascii艺术的最佳方法