我有一个这样的数组:
var oldArray = [{'value': '1', 'label': 'a'}, {'value': '2', 'label': 'b'}]
我想要的是使用展开运算符在数组的开头添加一个新对象:顺便提一下,这样可以做到:
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运算符做同样的事情。
var result = [newObj, ...oldArray]
也会产生正确的输出。我有什么遗漏吗? - Abhinav Galodhavar result = [newObj, ...oldArray]
确实可行且是正确的答案,问题在于你的问题中存在错误的前提... - Aluan Haddad