我知道之前已经问过这个问题,但我找到的每个解决方案都没有按照我需要的方式进行。
数组
[ {key: "Title", value: "Default Text"}, {key: "Title2", value: "Default Text2"} ]
我需要的对象
{
"Title": "Default Text",
"Title2": "Default Text2"
}
我尝试的所有东西似乎都回归了这个错误:
{ {key: "Title", value: "Default Text"}, {key: "Title2", value: "Default Text2"} }
我已经尝试了大多数我在这里找到的东西......我试过的最后一个是格式错误的是:
let obj = Object.assign({}, arrayHere);
我想要的是什么:
我一直在想,但是错了:
答案 0 :(得分:2)
var arr = [ {key: "Title", value: "Default Text"}, {key: "Title2", value: "Default Text2"} ],
result = arr.reduce((r,o) => {r[o.key] = o.value; return r; }, {});
console.log(result);
答案 1 :(得分:0)
const a = [ {key: "Title", value: "Default Text"}, {key: "Title2", value: "Default Text2"} ];
function convertArr(arr) {
const res = {};
a.forEach((item) =>
res[item.key] = item.value;
})
return res;
}
convertArr(a);
答案 2 :(得分:0)
您可以使用Array#map
和Object.assign
var array = [{ key: "Title", value: "Default Text" }, { key: "Title2", value: "Default Text2" }];
object = Object.assign({}, ...array.map(o => ({ [o.key]: o.value })));
console.log(object);

答案 3 :(得分:0)
使用Array.prototype.map(),
var Object = [ {key: "Title", value: "Default Text"}, {key: "Title2", value: "Default Text2"} ];
var result = Object.map(function(obj) {
var rObj = {};
rObj[obj.key] = obj.value;
return rObj; });