【发布时间】:2020-07-22 08:16:34
【问题描述】:
我想在 Javascript 中合并 2 个对象数组,源数组类似于:
padding = [{'t': 1, 'c': 0}, {'t': 2, 'c': 0}, {'t': 3, 'c': 0}]
data = [{'t': 3, 'c': 5}]
结果应该是这样的:
result = [{'t': 1, 'c': 0}, {'t': 2, 'c': 0}, {'t': 3, 'c': 3}]
请注意,data 正在通过匹配 't' 填充到 padding。我尝试了各种方法,例如jQuery $.extend({}, padding, data),但输出不正确。
感谢您分享某些内容。谢谢。
编辑 1(2020 年 4 月 10 日)
正如@codemaniac 指出的那样,我有一个错字,结果应该是:
result = [{'t': 1, 'c': 0}, {'t': 2, 'c': 0}, {'t': 3, 'c': 5}]
附加(2020 年 4 月 10 日)
我的padding 长度为1000,对于data,它应该是padding 的子集,键为't'。
我正在寻找将data“合并”和“替换”成padding的高效方式,有些人称之为“加法”,因为padding总是用@填充987654335@ 为每个对象。
如果可能的话,我不介意尝试lodash JS 实用程序。
【问题讨论】:
-
怎么变成
{'t': 3, 'c': 3}? -
你是如何获得最终结果的?请正确举例说明问题:)
-
@CodeManiac 正如你所说,我已经更正了。
-
@YousufKhan 我在原帖中打错字了,我已经对帖子进行了编辑。
-
好的,如果
data = [{'t': 4, 'c': 5}]和padding = [{'t': 1, 'c': 0}, {'t': 2, 'c': 0}, {'t': 3, 'c': 0}],最终结果是什么?
标签: javascript arrays object merge lodash