Javascript更新并忽略目标中的未定义字段

Javascript update and ignore undefined fields in destination

本文关键字:未定义 字段 目标 更新 Javascript      更新时间:2023-09-26

我希望基本上更新一个大型javascript对象。然而,前端的各种工具添加了不必要的字段,这些字段在更新对象时应该忽略。我正在与角,但开放使用lodash/下划线,如果必要的工作。我只是想能够更新现有的对象,而不添加额外的字段,当它被放置在UI注入。

var ob1 = {
    attr1: 'stuff',
    attr2: 'stuff'
};
var ob2 = {
    attr1: 'changedstuff',
    attr2: 'stuff',
    uiCrap: 'junk'
};
update(ob1, ob2);
// should result in 
// ob1 = { attr1: 'changedstuff', attr2: 'stuff };

有没有人知道是否有任何内置的angular/javascript功能?

使用extend()函数:

var ob = _.extend(ob1, _.pick(ob2, _.keys(ob1)));