使用扩展运算符将对象添加到数组的开头
我有一个这样的数组:
var oldArray = [{'value': '1', 'label': 'a'}, {'value': '2', 'label': 'b'}]
我想要的是使用spread运算符在该数组的开头添加一个新对象:
顺便说一句这个工程:
var oldArray = [{'value': '1', 'label': 'a'}, {'value': '2', 'label': 'b'}]
var newObj = {'value': 'all', 'label': 'all'}
var result = [newObj, ...oldArray]
但是像这样产生一个关键的“newObj”:
var oldArray = [newObj : {'value': 'all', 'label': 'all'}, 0: {'value': '1', 'label': 'a'}, 1:{'value': '2', 'label': 'b'}]
我希望这个键是自动生成的,就像我这样做:
var result = [{'value': 'all', 'label': 'all'}, ...oldArray]
并设想结果是这样的:
var oldArray = [newObj : {0: 'all', 'label': 'all'}, 1: {'value': '1', 'label': 'a'}, 2:{'value': '2', 'label': 'b'}]
但是这给了我一个错误。
现在我正在使用unshift,它的工作原理,我想知道是否有一种方法可以与spread运算符一样。
你可以使用unshift()
函数,它的确如此:
let oldArray = [{'value': '1', 'label': 'a'}, {'value': '2', 'label': 'b'}]
let newObj = {'value': 'all', 'label': 'all'}
oldArray.unshift(newObj)
console.log(oldArray)
或者,如果你不想修改原始数组,你可以这样做:
const result = oldArray.slice()
result.unshift(newObj)
console.log(result)
您可以使用unshift()
将项目添加到数组的开头
var oldArray = [{'value': '1', 'label': 'a'}, {'value': '2', 'label': 'b'}]
var newObj = {'value': 'all', 'label': 'all'}
oldArray.unshift(newObj);
console.log(oldArray);
链接地址: http://www.djcxy.com/p/19367.html
上一篇: Add object to the beginning of array using spread operator