kni*_*gge 4 javascript javascript-objects ecmascript-6
我正在使用 ES6 和 Babel(es2015 预设)编写一些代码 atm,但我无法像以前那样传播一个对象。通常我会采用一个对象,使用展开并映射内部内容,例如[...someObject].map(dosomestuff). 但我的一个对象的行为并不符合预期,到目前为止我发现的唯一区别是键:
let myObject = {
'key': content,
'key2': content,
'key3': content
};
let array = [...myObject];
Run Code Online (Sandbox Code Playgroud)
由于对象是从文件结构生成的,因此键由变量组成,并且可以包含特殊字符,因此我需要将它们设置为object[key] = value. 为什么我不能在该对象上使用扩展运算符(数组始终为空)?是否有一种像扩展运算符一样舒适的解决方法(我并不是说用 Object.keys 创建一个新数组并使用它)
该对象spread适用于 bojects,您不能将对象传播到array.
你应该将spread它转移到另一个对象:
let myObject = {
'key': "content1",
'key2': "content2",
'key3': "content3"
};
let myObject2 = {
'key4': 'content4'
}
let newObj= {...myObject, ...myObject2};
console.log(newObj);Run Code Online (Sandbox Code Playgroud)
这不是 ES6 的一部分,但处于第 3 阶段