Q:

How to add two or nth different list items with order into a new list? 

The problem is how can I add two or n different list items into the order? 
Then add them into a new list? 
Anyone know is there a faster way to achieve this? 
Thanks. 
let resultList = [];

const list = [
  {
    "item": "aaa"
  },
  {
    "item": "ddd"
  },
];

const list2 = [
  {
    "item": "bbb"
  },
  {
    "item": "ccc"
  }
];

const list3 = [
  {
    "item": "xxx"
  },
  {
    "item": "yyy"
  }
];

// expected
resultList = [
  {
    "item": "aaa"
  },
  {
    "item": "bbb"
  },
  {
    "item": "xxx"
  },
  {
    "item": "ddd"
  },
  {
    "item": "ccc"
  },
  {
    "item": "yyy"
  },
]

A:

If you can support new JavaScript features such as .flatMap(), you can map each object in list to an array containing the current object along with it's associated object from list2 like so:

const list = [{ "item": "aaa" }, { "item": "ddd" }]; 
const list2 = [ { "item": "bbb" }, { "item": "ccc" } ];

const res = list.flatMap((o, i) => [o, list2[i]]);
console.log(res);

This can be generalized for multiple lists:

const list = [{ "item": "aaa" }, { "item": "ddd" }]; 
const list2 = [ { "item": "bbb" }, { "item": "ccc" } ];
const list3 = [ { "item": "xxx" }, { "item": "yyy" } ];
const arr = [list, list2, list3];

const res = arr[0].flatMap((_, i) => arr.map(a => a[i]));
console.log(res);

