首页 > 解决方案 > 连接多个对象内的值

问题描述

我得到了需要连接在一起的以下对象数据,如果“foo”和“bar”始终具有相同的子元素,我该如何实现下面的输出。

{
  "foo": {
    "aaa": 1,
    "bbb": 2,
    "ccc": 3,
  },
  "bar:" {
    "aaa": "One",
    "bbb": "Two",
    "ccc": "Three",
  }
}

预期输出为

<li>1 One</li>
<li>2 Two</li>
<li>3 Three</li>

标签: javascriptarraysobjectconcat

解决方案


您需要的是一个相当复杂的对象操作表达式。假设您将对象存储在一个o变量中,这个表达式调用Object.keysArray.prototype.map几次会将您的对象转换为一组粘合的相应属性值:

const entries = Object.keys(o[Object.keys(o)[0]]).map(property => Object.keys(o).map(p => o[p][property]).join(' '));

推荐阅读