我卡住了。我正在寻找一种在对象中添加或创建数据的解决方案。 例如,我从一个空对象开始。
var Foo = {};
如何在不检查“单击”的键是否已经存在的情况下为对象键赋值?
{
'clicked' : [
{'foo' : 'bar'},
{'blah', 'blaat'}
]
}
通常你会这样做:
Foo.clicked = [];
Foo.clicked.push({'foo' : 'bar'});
Foo.clicked.push({'blah', 'blaat'});
有没有更优雅的方式将数据分配给 Foo 而无需检查“单击”键是否已经存在?如果存在某种合并?
我试过类似的东西:
Object.assign({'click' : [{'foo':'bar'}]}, {'click' : [{'blah':'blaat'}]})
但是最后一个覆盖了第一个。
最佳答案
您可以使用 logical OR ||
进行检查如果第一个操作数(属性)为假,则分配一个数组。
Foo.clicked = Foo.clicked || [];
Foo.clicked.push({ foo: 'bar' });
Foo.clicked.push({ blah: 'blaat' });
关于javascript 添加或合并到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57945769/