javascript - 如何将嵌套对象转换为javascript中的数组?

标签 javascript jquery arrays lodash

我有一个包含多个对象的数组。在这个数组中,每个对象都有两个或多个子对象。我想将所有子对象组合成一个数据数组。 javascript怎么办?

var array1 = [
  {
    "dfgasg24":{
      name:"a",
      id:1
    },
    "dfgare24":{
      name:"b",
      id:2
    }
  },
  {
    "wegasg24":{
      name:"ab",
      id:76
    },
    "yugasg24":{
      name:"bc",
      id:34
    },
    "yugasg26":{
      name:"dc",
      id:45
    }
  }
]

我想要这样的输出,

var result = [
    {
        name:"a",
        id:1
    },
    {
        name:"b",
        id:2
    },
    {
        name:"ab",
        id:76
    },
    {
        name:"bc",
        id:34
    },
    {
        name:"dc",
        id:45
    }
];

最佳答案

您可以使用迭代数组和键的组合方法来构建平面数组。

var array = [{ "dfgasg24": { name: "a", id: 1 }, "dfgare24": { name: "b", id: 2 } }, { "wegasg24": { name: "ab", id: 76 }, "yugasg24": { name: "bc", id: 34 }, "yugasg26": { name: "dc", id: 45 } }],
    result = array.reduce(function (r, o) {
        Object.keys(o).forEach(function (k) {
            r.push(o[k]);
        });
        return r;
    }, []);

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 如何将嵌套对象转换为javascript中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41427699/

相关文章:

javascript - getLockHolders 返回一个 java.util.Vector 如何为特定用户解锁

javascript - Cannot POST/test.php 当我试图将数据输入数据库时​​它给了我这个错误

javascript - 如何从数据表中深层嵌套的对象中读取信息?

javascript - 尝试从数组中添加和删除项目

javascript - 如何使用继承的方法更改继承的数组?

javascript - 是否有原生 jQuery 方法来提取单个 QueryString 项目?

javascript - 联系表单 - 在 POST 后从 URL 附加 ".html"

javascript - Sticky Nav 使用 Waypoints 调整大小问题

javascript - $http.get() 需要时间来加载。需要更好的方式来写这个

java - 连续数字的最大子数组