Javascript 将两个对象合并在一起
我有两个目标:Javascript 将两个对象合并在一起,javascript,react-native,Javascript,React Native,我有两个目标: a = {id: "1", value: "hello"} b = {id: "2", value: "bye"} 我想转换为: c = { 1: "hello", 2: "bye" } 因此,创建一个没有任何嵌套主题的新对象 我试过几种方法,但没有完全得到我需要的。 例如: 您可以使用.reduce: a={id:“1”,值:“hello”} b={id:“2”,值:“bye”} c=[a,b].reduce((进位,当前)=>{carry[current.id]=cur
a = {id: "1", value: "hello"}
b = {id: "2", value: "bye"}
我想转换为:
c = { 1: "hello", 2: "bye" }
因此,创建一个没有任何嵌套主题的新对象
我试过几种方法,但没有完全得到我需要的。
例如:
您可以使用
.reduce
:
a={id:“1”,值:“hello”}
b={id:“2”,值:“bye”}
c=[a,b].reduce((进位,当前)=>{carry[current.id]=current.value;返回进位},{})
console.log(c)
只需创建一个新的空白对象并复制值即可
var a={id:“1”,值:“hello”}
var b={id:“2”,值:“bye”}
var c={};
c[a.id]=a.value;
c[b.id]=b.value;
控制台日志(c)
您可以使用对象执行此操作。分配和映射()
方法
const a={id:“1”,值:“hello”}
常数b={id:“2”,值:“bye”}
const result=Object.assign({},[a,b].map({id,value})=>({[id]:value}));
console.log(result)
简单的方法,带有一个循环,可以执行所有元素:
var list = [
{id: "1", value: "hello"},
{id: "2", value: "bye"}
// ... more elements
];
var c = {};
list.forEach(function (element) {
c[element['id']] = element['value'];
// or c[element.id] = element.value;
});
另一种选择
var a={id:“1”,值:“hello”}
var b={id:“2”,值:“bye”}
var c={};
[a,b].forEach(函数(x){
c[x.id]=x.value;
});
控制台日志(c)代码>
var list = [
{id: "1", value: "hello"},
{id: "2", value: "bye"}
// ... more elements
];
var c = {};
list.forEach(function (element) {
c[element['id']] = element['value'];
// or c[element.id] = element.value;
});