简体   繁体   中英

how to push object to array object in javascripts?

how to push object to array object in javascripts? I have data array object like data 1 below, and I want to push multiple data object like data 2 below become data result, how to do that?

data 1:

[ {
    _id: 5b4ef851e1e5b938489cb952,
    name: 'Stanlee',
    data: 2,
    __v: 0 },
  { 
    _id: 5b4ef717e1e5b938489cb94e,
    name: 'Jhone ',
    data: 2,
    __v: 0 },
  { 
    _id: 5b4ee85b81bf2115b8ae0a8d,
    name: 'Sushio',
    data: 2,
    __v: 0 } ]

data 2:

[{ id: 2,
  name: 'transportation',
  type: 'car'},
{ id: 2,
  name: 'transportation',
  type: 'motor'},
{ id: 2,
  name: 'transportation',
  type: 'train'}]

data result :

[ {
    _id: 5b4ef851e1e5b938489cb952,
    name: 'Stanlee',
    data: { id: 2,
            name: 'transportation',
            type: 'car'}
    __v: 0 },
  { 
    _id: 5b4ef717e1e5b938489cb94e,
    name: 'Jhone ',
    data: { id: 2,
            name: 'transportation',
            type: 'motor'}
    __v: 0 },
  { 
    _id: 5b4ee85b81bf2115b8ae0a8d,
    name: 'Sushio',
    data: { id: 2,
            name: 'transportation',
            type: 'train'}
    __v: 0 } ]

You can simply do that with data1.forEach((x, i) => x.data = data2[i] || x.data);

Try it below:

 var data1 = [{ _id: "5b4ef851e1e5b938489cb952", name: 'Stanlee', data: 2, __v: 0 }, { _id: "5b4ef717e1e5b938489cb94e", name: 'Jhone ', data: 2, __v: 0 }, { _id: "5b4ee85b81bf2115b8ae0a8d", name: 'Sushio', data: 2, __v: 0 } ]; var data2 = [{ id: 2, name: 'transportation', type: 'car' }, { id: 2, name: 'transportation', type: 'motor' }, { id: 2, name: 'transportation', type: 'train' } ]; data1.forEach((x, i) => x.data = data2[i] || x.data); console.log(data1); 

 var d1=[{a:1},{a:1},{a:3}]; var d2=[{a:4},{a:5}]; document.write("Data 1 : " + JSON.stringify(d1) +"<br/>"); document.write("Data 2 : " + JSON.stringify(d2) +"<br/>"); d2.forEach(function(obj) { d1.push(obj); }); document.write("Data 1 : " + JSON.stringify(d1)); 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM