javascript 添加或合并到对象

标签 javascript object

我卡住了。我正在寻找一种在对象中添加或创建数据的解决方案。 例如,我从一个空对象开始。

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/

相关文章:

PHP:让我的对象有 child

javascript - 我应该使用数组还是对象来构建摘要?

javascript - 删除 Alfresco 自定义模型中的属性值

javascript - 将所有输入值放入列表javascript

javascript - 单击特定的超链接时,我应该获得与其相对应的值吗?

javascript - 我们可以使用 javascript 对多个字段的数据进行排序吗

java - 接收可序列化对象并显示内容

php - PHP对象缓存性能

c# - 在 C# 中使用 Web 服务 -List

javascript - Django 和 React : csrf cookie is not being set in request header