首页 > 解决方案 > 如何访问 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]) {

有什么帮助吗?

标签: javascriptarraysobject

解决方案


返回传递给它的 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));


推荐阅读