当键相同时合并2个对象值

0

我有两个对象:

{'1': {'a': 1, 'b': 2, 'c': 3}}, {'1': {'d': 4, 'e': 5, 'f': 6}, '2': {'g': 7}}.

本机javascript中是否有一个函数(项目中也使用了下划线),我可以在其中放入两个对象并将其取出来?

{'1': {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}, '2': {'g': 7}}
大卫·阿切利

[更新]您可以使用以下内容进行合并而不会影响原始对象:

var isObject = function(o) { return Object.prototype.toString.call(o) == '[object Object]'; };
var isArray = function(o) { return Object.prototype.toString.call(o) == '[object Array]'; };

function extend(a, b) {
  for (var prop in b) {
    if (isObject(b[prop])) {
      extend(a[prop]||(a[prop] = {}), b[prop]);
    }
    else if (isArray(b[prop])) {
      a[prop] = (a[prop]||[]).concat(b[prop]);
    }
    else {
      a[prop] = b[prop];
    }
  }
  return a;
}

function merge(dest, source) {
  var obj = extend({}, dest),
      sources = arguments.length > 2 ? [].slice.call(arguments,1) : [source];

  sources.forEach(function(source) {
    extend(obj, source);
  });

  return obj;
}

请参阅工作中的JSBin

此更新的版本应允许您合并多个对象,并返回合并对象的副本,而将原始对象保留在原位。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据不同的键但相同的值合并 2 个对象数组

来自分类Dev

合并两个键不同但值相同的无序对象?

来自分类Dev

PHP-减去键=相同的2个对象的值

来自分类Dev

Scala Map在键相同时合并并求和值

来自分类Dev

JavaScript用相同的键合并对象并求和它们的值

来自分类Dev

合并 2 个对象数组,从一个对象设置键,从另一个对象设置值

来自分类Dev

深度比较:当 2 个对象的值不相同时,此代码如何返回 false?

来自分类Dev

合并对象数组,将具有相同值的键合并并保持唯一值

来自分类Dev

将数组的数组合并到一个对象中,同时合并特定键下的值(数组中有重复项)

来自分类Dev

如何合并两个具有相同值的对象?

来自分类Dev

当两个键的值相同时,从python字典中删除一个项目

来自分类Dev

当多个值相同时删除字典键

来自分类Dev

使用相同的键合并对象数组

来自分类Dev

合并对象数组,并使用相同的键合并对象内部的数组

来自分类Dev

根据对象的键和值合并对象

来自分类Dev

如果值相同,则合并字典键

来自分类Dev

在字典列表中合并相同键的值

来自分类Dev

合并具有相同“键”的JSON对象,并使用JavaScript添加其“值”

来自分类Dev

如何将具有相同键的对象合并而不覆盖值?

来自分类Dev

使用jQuery(JavaScript)合并对象数组中多个相同键的值

来自分类Dev

Javascript:通过相同的键/值合并/重命名数组中的相似对象

来自分类Dev

如何匹配和合并具有相同键的两个对象数组

来自分类Dev

比较2个字典:相同的键,不匹配的值

来自分类Dev

StringBuilder给我错误的值,而同时映射两个具有相同值的stringbuilder对象?

来自分类Dev

如何合并两个对象数组,并对JavaScript中重复的对象键的值求和?

来自分类Dev

合并两个映射,对C ++中相同键的值求和

来自分类Dev

如何合并具有相同键的一个或多个嵌套数组值

来自分类Dev

Rails:如果特定键具有相同的值,如何合并两个哈希?

来自分类Dev

创建一个新的对象数组并合并具有相同值的对象

Related 相关文章

  1. 1

    根据不同的键但相同的值合并 2 个对象数组

  2. 2

    合并两个键不同但值相同的无序对象?

  3. 3

    PHP-减去键=相同的2个对象的值

  4. 4

    Scala Map在键相同时合并并求和值

  5. 5

    JavaScript用相同的键合并对象并求和它们的值

  6. 6

    合并 2 个对象数组,从一个对象设置键,从另一个对象设置值

  7. 7

    深度比较:当 2 个对象的值不相同时,此代码如何返回 false?

  8. 8

    合并对象数组,将具有相同值的键合并并保持唯一值

  9. 9

    将数组的数组合并到一个对象中,同时合并特定键下的值(数组中有重复项)

  10. 10

    如何合并两个具有相同值的对象?

  11. 11

    当两个键的值相同时,从python字典中删除一个项目

  12. 12

    当多个值相同时删除字典键

  13. 13

    使用相同的键合并对象数组

  14. 14

    合并对象数组,并使用相同的键合并对象内部的数组

  15. 15

    根据对象的键和值合并对象

  16. 16

    如果值相同,则合并字典键

  17. 17

    在字典列表中合并相同键的值

  18. 18

    合并具有相同“键”的JSON对象,并使用JavaScript添加其“值”

  19. 19

    如何将具有相同键的对象合并而不覆盖值?

  20. 20

    使用jQuery(JavaScript)合并对象数组中多个相同键的值

  21. 21

    Javascript:通过相同的键/值合并/重命名数组中的相似对象

  22. 22

    如何匹配和合并具有相同键的两个对象数组

  23. 23

    比较2个字典:相同的键,不匹配的值

  24. 24

    StringBuilder给我错误的值,而同时映射两个具有相同值的stringbuilder对象?

  25. 25

    如何合并两个对象数组,并对JavaScript中重复的对象键的值求和?

  26. 26

    合并两个映射,对C ++中相同键的值求和

  27. 27

    如何合并具有相同键的一个或多个嵌套数组值

  28. 28

    Rails:如果特定键具有相同的值,如何合并两个哈希?

  29. 29

    创建一个新的对象数组并合并具有相同值的对象

热门标签

归档