javascript - 如何访问 JavaScript 数组中的一个对象的值之一?
问题描述
我有这个对象数组,我想显示每个对象中的所有值:
var array = [{obj1:{property1:"value1",property2:"value2",property3:"value3"}},
{obj2:{property1:"value1",property2:"value2",property3:"value3"}},
{obj3:{property1:"value1",property2:"value2",property3:"value3"}}];
当我尝试这样的事情时,我只能显示键而不是值
for (let i in array){
for (let key1 in array[i]) {
有什么帮助吗?
解决方案
返回传递给它的 Object 值的Object.values()
数组。
然后,您可以使用flatMap
两次来展平嵌套对象数组并获取所有值。
var array = [{
obj1: {
property1: "value1",
property2: "value2",
property3: "value3"
}
},
{
obj2: {
property1: "value1",
property2: "value2",
property3: "value3"
}
},
{
obj3: {
property1: "value1",
property2: "value2",
property3: "value3"
}
}
];
function getAllValues(array) {
return array.flatMap(o => Object.values(o))
.flatMap(o => Object.values(o))
}
console.log(getAllValues(array));
推荐阅读
- r - 通过 rbind 向 data.frame 添加行会导致日期错误
- github - 上传与下载与工件
- sql - 如何使用带有 OUT 参数的 SELECT 语句?
- android - Android - 任务:app:mergeDexRelease 失败
- java - 使用菜单资源在 Android 中启动新活动?
- r - 在 Windows 上使用 stdout = TRUE 调用 system2 时嵌入 nul 警告
- markdown - 如何在一行中编写 Markdown List?
- node.js - 在发布请求时表达空值
- vue.js - 使用 vue-apollo 创建编辑表单时避免缓存问题
- asp.net - 如何在 asp.net Core 中增加最大线程池限制