连接多个对象中的值
Join values within multiple objects
我得到了下面的对象数据,我需要将它们连接在一起,如果 "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>
你需要的是一个相当复杂的对象操作表达式。假设您将对象存储在 o
变量中,此表达式多次调用 Object.keys
和 Array.prototype.map
会将您的对象转换为粘合对应的 属性 值的数组:
const entries = Object.keys(o[Object.keys(o)[0]]).map(property => Object.keys(o).map(p => o[p][property]).join(' '));
试试这个
var foobar = {
"foo": {
"aaa": 1,
"bbb": 2,
"ccc": 3
},
"bar": {
"aaa": "One",
"bbb": "Two",
"ccc": "Three"
}
};
let mappedArray = Object.keys(foobar.bar).map(xxx=> "<li>" + foobar.foo[xxx] + " " + foobar.bar[xxx] + "</li>");
console.log(mappedArray.join("\n"));
我得到了下面的对象数据,我需要将它们连接在一起,如果 "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>
你需要的是一个相当复杂的对象操作表达式。假设您将对象存储在 o
变量中,此表达式多次调用 Object.keys
和 Array.prototype.map
会将您的对象转换为粘合对应的 属性 值的数组:
const entries = Object.keys(o[Object.keys(o)[0]]).map(property => Object.keys(o).map(p => o[p][property]).join(' '));
试试这个
var foobar = {
"foo": {
"aaa": 1,
"bbb": 2,
"ccc": 3
},
"bar": {
"aaa": "One",
"bbb": "Two",
"ccc": "Three"
}
};
let mappedArray = Object.keys(foobar.bar).map(xxx=> "<li>" + foobar.foo[xxx] + " " + foobar.bar[xxx] + "</li>");
console.log(mappedArray.join("\n"));