我想用javascript中的键值创建新对象。
我有一个obj arrobj
,如何创建具有相同键和值的对象
function createobj(arrobj){
var newobj = Object.assign({}, ...arrobj.map(e=>Object.values(e.fields)));
return newobj
}
var arrobj = [{
fields: {
service: "finance",
country: "SG"
}
}]
Expected Output
var newobj = {
finance: "finance",
SG: "SG"
}
最佳答案
您可以获取值,然后将其简化为一个以值作为键的对象:
function createobj(arrobj) {
return arrobj
.flatMap((e) => Object.values(e.fields))
.reduce((p, c) => ((p = { ...p, [c]: c }), p), {});
}
var arrobj = [
{
fields: {
service: "finance",
country: "SG",
},
},
];
console.log(createobj(arrobj));