我正在开发一个 react 组件。要求是在对象数组中的备用位置添加一个新对象,例如如下:
arr1 = [{test: 1},{test: 2},{test: 3},{test: 4}]
预期输出:
arr1 = [{test: 1},{dummy:1},{test: 2},{dummy:1},{test: 3},{dummy:1},{test: 4}]
有没有办法在 es6 中做同样的事情?
要获取所需数组,您可以将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);
由于这会在数组中的每个元素后面添加 {dummy: 1}
对象,因此只需使用
.slice(0, -1)
为给定数组中的最后元素添加一个异常(exception)。
如果您想就地修改原始数组,可以使用splice
方法。
var array = [{test: 1},{test: 2},{test: 3},{test: 4}];
for(i = 0;i < array.length - 1; i = i + 2){
array.splice(i + 1, 0, {dummy: 1});
}
console.log(array);
我是一名优秀的程序员,十分优秀!