在Javascript中合并两个对象数组

sha*_*art 4 javascript ecmascript-6

我有两个对象数组:

let genericObj = [{"name": "success", }, {"name": "failure"}, {"name":"timeout"}, {"name": "max"}, {"name": "min"}, {"name": "avg"}]
let x = [
    { y: 14037 },
    { y: 0 },
    { y: 0 },
    { y: 1.1960000000000002 },
    { y: 0.089 },
    { y: 0.18 }
  ];

Run Code Online (Sandbox Code Playgroud)

我想合并两者,所以我有一个对象数组

let finalObj= [{"name": "success", y: 23432}, {"name": "fail", y: 23423}] etc

Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些东西,但它现在对我有用。帮助将不胜感激

Nin*_*olz 5

您可以将数组放入数组中并按索引合并对象。

这种方法适用于任何数量的数组。

let genericObj = [{"name": "success", }, {"name": "failure"}, {"name":"timeout"}, {"name": "max"}, {"name": "min"}, {"name": "avg"}],
    x = [{ y: 14037 }, { y: 0 }, { y: 0 }, { y: 1.1960000000000002 }, { y: 0.089 }, { y: 0.18 }],
    result = [genericObj, x].reduce((a, b) => a.map((o, i) => ({ ...o, ...b[i] })));

console.log(result);
Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }
Run Code Online (Sandbox Code Playgroud)