用javascript将数组A的键和值添加到数组B中



我有这两个对象数组:

A = [
{a: 'john', b: 'joe', c: 'jack'},
{a: 'ben', b: 'alex', c: 'nicole'},
{a: 'sarah', b: 'megan', c: 'bill'}
]
B = [
{x: 'texas', y: 'cali', z: 'washington'},
{x: 'omaha', y: 'hawaii', z: 'york'},
{x: 'michigan', y: 'dakota', z: 'alabama'}
]

我想把它们的对象值合并在一起,这样我就有了这样的东西:

C = [
{a: 'john', b: 'joe', c: 'jack', x: 'texas', y: 'cali', z: 'washington'},
{a: 'ben', b: 'alex', c: 'nicole', x: 'omaha', y: 'hawaii', z: 'york'},
{a: 'sarah', b: 'megan', c: 'bill', x: 'michigan', y: 'dakota', z: 'alabama'}
]

我该怎么做?

尝试这个

var C = A.map((x, i) => Object.assign(x, B[i]) )

var mergeArray = (A, B) => {
const res = []
for(let i = 0; i < A.length; i++ ) {
res.push({...A[i], ...B[i]})
}
return res
}

使用map和排列(…(运算符

A = [
{ a: "john", b: "joe", c: "jack" },
{ a: "ben", b: "alex", c: "nicole" },
{ a: "sarah", b: "megan", c: "bill" },
];
B = [
{ x: "texas", y: "cali", z: "washington" },
{ x: "omaha", y: "hawaii", z: "york" },
{ x: "michigan", y: "dakota", z: "alabama" },
];
C = A.map((obj, i) => ({ ...obj, ...B[i] }));
console.log(C);

试试这个:

let C = [];
for(let i = 0; i < A.length; i++){
C.push(A[i]);
Object.assign(C[i], B[i]);      
}
console.log(C)

最新更新