我被困住了。我正在寻找一种在对象中添加或创建数据的解决方案。 例如,我从一个空对象开始。
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'}]})
但最后一个是覆盖第一个。
如果第一个操作数(属性(是假的,您可以使用逻辑 OR||
进行检查并分配一个数组。
Foo.clicked = Foo.clicked || [];
Foo.clicked.push({ foo: 'bar' });
Foo.clicked.push({ blah: 'blaat' });
有没有一种更优雅的方法将数据分配给Foo而不检查是否 "点击"的键已经存在?
您可以直接使用:
if (Foo.hasOwnProperty('clicked') !== true) {
[... CODE HERE...]
}
返回布尔值,指示属性'clicked'
尚不存在。