将 Json 数组合并到一个对象
Merge Json Array to an Object
我有一个包含像
这样的对象的数组
[
{
"name": "foo",
"value": "bar"
},
{
"name": "foo1",
"value": "bar1"
}
]
我想要类似
的东西
{"foo":"bar","foo1":"bar1"}
有人可以帮我解决这个问题吗?
您可以简单地遍历数组并构建您的对象 属性-by-属性.
使用 Array.prototype.forEach
:
可以更轻松地完成
var arr = [
{
"name": "foo",
"value": "bar"
},
{
"name": "foo1",
"value": "bar1"
}
];
var o = {};
arr.forEach(function(x) {
o[x.name] = x.value;
});
console.log(o);
let items = [
{
"name": "foo",
"value": "bar"
},
{
"name": "foo1",
"value": "bar1"
}
]
let myObject = {}
for (let item of items) {
myObject[item.name] = item.value;
}
console.log(myObject);
请注意,这是在 es6 中。
只需使用 Object.assign
进行 reduce
var arr = [
{
"name": "foo",
"value": "bar"
},
{
"name": "foo1",
"value": "bar1"
}
];
var arr2 = arr.reduce((z, {name,value})=>
Object.assign(z, {[name]: value}), {});
console.log(arr2);
这是 ES5 版本
var arr = [
{
"name": "foo",
"value": "bar"
},
{
"name": "foo1",
"value": "bar1"
}
];
var arr2 = arr.reduce(function(a,b) {
a[b.name] = b.value;
return a;
}, {});
console.log(arr2);
我有一个包含像
这样的对象的数组[
{
"name": "foo",
"value": "bar"
},
{
"name": "foo1",
"value": "bar1"
}
]
我想要类似
的东西{"foo":"bar","foo1":"bar1"}
有人可以帮我解决这个问题吗?
您可以简单地遍历数组并构建您的对象 属性-by-属性.
使用 Array.prototype.forEach
:
var arr = [
{
"name": "foo",
"value": "bar"
},
{
"name": "foo1",
"value": "bar1"
}
];
var o = {};
arr.forEach(function(x) {
o[x.name] = x.value;
});
console.log(o);
let items = [
{
"name": "foo",
"value": "bar"
},
{
"name": "foo1",
"value": "bar1"
}
]
let myObject = {}
for (let item of items) {
myObject[item.name] = item.value;
}
console.log(myObject);
请注意,这是在 es6 中。
只需使用 Object.assign
var arr = [
{
"name": "foo",
"value": "bar"
},
{
"name": "foo1",
"value": "bar1"
}
];
var arr2 = arr.reduce((z, {name,value})=>
Object.assign(z, {[name]: value}), {});
console.log(arr2);
这是 ES5 版本
var arr = [
{
"name": "foo",
"value": "bar"
},
{
"name": "foo1",
"value": "bar1"
}
];
var arr2 = arr.reduce(function(a,b) {
a[b.name] = b.value;
return a;
}, {});
console.log(arr2);