如何在另一个对象数组中的备用位置添加对象?

sac*_*mar 0 javascript arrays node.js reactjs react-redux

我正在开发一个反应组件。要求是在对象数组中的备用位置添加一个新对象,如下所示:

arr1 = [{test: 1},{test: 2},{test: 3},{test: 4}]
Run Code Online (Sandbox Code Playgroud)

预期输出:

arr1 = [{test: 1},{dummy:1},{test: 2},{dummy:1},{test: 3},{dummy:1},{test: 4}]
Run Code Online (Sandbox Code Playgroud)

有没有办法在 es6 中做同样的事情?

Mih*_*nut 5

为了获得所需的数组,您可以将该concat方法与reduce.

var array = [{test: 1},{test: 2},{test: 3},{test: 4}];
var result = array.reduce((res, item) => res.concat(item, {dummy: 1}), []).slice(0, -1);
    
console.log(result);
Run Code Online (Sandbox Code Playgroud)

由于这会{dummy: 1}在数组中的每个元素之后添加对象,因此只需使用

.slice(0, -1)
Run Code Online (Sandbox Code Playgroud)

为给定数组中的最后一个元素添加一个例外

如果你想就地修改原始数组,你可以使用方法。splice