[英]How to merge two different array of object in JavaScript? Check below example
Input Arrays:输入 Arrays:
var array1 = [
{
PersonalID: '11',
qusetionNumber: '1',
value: 'Something'
},
{
PersonalID: '12',
qusetionNumber: '2',
value: 'whatever'
},
];
var array2 = [
{
uniqueId: '111'
},
{
uniqueId: '222'
},
];
Result:结果:
var results = [
{
PersonalID: '11',
qusetionNumber: '1',
value: 'Something',
uniqueId: '111'
},
{
PersonalID: '12',
qusetionNumber: '2',
value: 'whatever',
uniqueId: '222'
},
];
There are a few ways to do this, perhaps this is acceptable?有几种方法可以做到这一点,也许这是可以接受的? Simply looping over the first array and using the index to select the correct object from the second array.简单地循环第一个数组并使用 select 的索引从第二个数组中正确的 object 。
var array1 = [ { PersonalID: '11', qusetionNumber: '1', value: 'Something' }, { PersonalID: '12', qusetionNumber: '2', value: 'whatever' }, ]; var array2 = [ { uniqueId: '111' }, { uniqueId: '222' }, ]; var result = []; array1.forEach((itm, idx, _) => { result.push({...itm, ...array2[idx] }); }); console.log(result)
You can use Array.map()
along with spread syntax (...)
to merge the values from the two arrays.您可以使用Array.map()
和spread syntax (...)
来合并来自两个 arrays 的值。
const array1 = [ { PersonalID: '11', qusetionNumber: '1', value: 'Something' }, { PersonalID: '12', qusetionNumber: '2', value: 'whatever' }, ]; const array2 = [ { uniqueId: '111' }, { uniqueId: '222' }, ]; const result = array1.map((el, idx) => ({...el, ...array2[idx]})); console.log('Result:', result)
.as-console-wrapper { max-height: 100%;important; }
var array1 = [ { PersonalID: '11', qusetionNumber: '1', value: 'Something' }, { PersonalID: '12', qusetionNumber: '2', value: 'whatever' }, ]; var array2 = [ { uniqueId: '111' }, { uniqueId: '222' }, ]; // if you don't want array1 to be modified use instead // Array.from(array1).map(function(e,i){return Object.assign(e,array2[i])}) array1.map(function(e,i){return Object.assign(e,array2[i])}) console.log(array1)
I can also use Object.assign
我也可以使用Object.assign
var array1 = [{ PersonalID: '11', qusetionNumber: '1', value: 'Something' }, { PersonalID: '12', qusetionNumber: '2', value: 'whatever' }, ]; var array2 = [{ uniqueId: '111' }, { uniqueId: '222' }, ]; let myArr = [] for(let i = 0; i<array1.length; i++){ myArr.push(Object.assign(array1[i], array2[i])) } console.log(myArr)
var array1 = [ { PersonalID: '11', qusetionNumber: '1', value: 'Something' }, { PersonalID: '12', qusetionNumber: '2', value: 'whatever' }, ]; var array2 = [ { uniqueId: '111' }, { uniqueId: '222' }, ]; const fun =(ar, ar2)=>{ for(let [k, v] of Object.entries(ar2)){ for(x in v){ ar[k][x] = v[x] } } return ar } console.log(fun(array1, array2))
You can also use the.map() like this你也可以像这样使用.map()
var array1 = [ { PersonalID: '11', qusetionNumber: '1', value: 'Something' }, { PersonalID: '12', qusetionNumber: '2', value: 'whatever' }, ]; var array2 = [ { uniqueId: '111' }, { uniqueId: '222' }, ]; var result = array1.map((element, index) => ({ PersonalID:element.PersonalID, qusetionNumber:element.qusetionNumber, value:element.value, uniqueId:array2[index].uniqueId })); console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.