首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合并两个集合,不包括不可变js中的默认值。

问合并两个集合,不包括不可变js中的默认值。
EN

Stack Overflow用户
提问于 2017-07-05 00:15:31
回答 1查看 169关注 0票数 0

我想合并用同一个构造函数创建的两个记录。

记录A使用字段a,b,c的值进行初始化,而记录B仅使用foo的值进行初始化。

构造函数对所有字段都有默认值,因此两个记录都有a,b,c,foo作为字段。

现在我想合并记录B“在”A的顶部,比如新的记录将包含来自A的a,b,c和来自B的foo。

实际发生的情况是,B完全覆盖了A中的值(诚然,这听起来合乎逻辑)。

有没有一种已知的/简单的方法来合并记录,不包括默认值?我正在考虑编写一个函数来识别构造函数,从配置文件中找到默认值,并具有排除默认值的逻辑,但这听起来很容易出错(我如何区分默认值和合法但与默认值完全相似的值?)。

此外,我正在一个现有的代码库中工作,并希望做出尽可能小的更改。

EN

回答 1

Stack Overflow用户

发布于 2017-07-30 05:08:44

我觉得你想要mergeWith docs

挂起类型A和类型B中的一种/两种类型的方法以公开您的自定义合并逻辑甚至可能是有意义的。这将允许您更容易地识别缺省值(因为它们可能在作用域中),并提供方便的访问。

用法如下所示:

代码语言:javascript
复制
a instanceof A; //=> true
b instanceof B; //=> true
a.mergeB(b); //=> a w/ some or all of b's data
b.mergeA(a); //=> b w/ some or all of a's data
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44910459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档