我最近在尝试更新数组索引时偶然发现了这个gem;
const a = [1,2,3];
Object.assign(a, {1: 10}) );
// [1, 10, 3]
这使我可以在一行中以编程方式更新特定数组项的值,而不更新原始数组的值。
但是,当我尝试将其转换为传播语法时:
[...a, ...{1: 10}]
它实际上不起作用,给我一个错误:
Uncaught TypeError: {(intermediate value)} is not iterable
假设对象分配向对象添加了可迭代的原型以使第一个选项起作用,而扩展的合成语法更通用并且不包括此功能,我是正确的吗?
谢谢
您真的不需要扩展运算符将对象添加到数组中
var a = [1,10]
var b = {a:15, b: 18}
var c = [...a, b]
console.log(c)