我目前有2个obj并使用 jquery扩展函数,但是它会覆盖具有相同名称的键的值.如何将值一起添加?
var obj1 = {
  "orange": 2,"apple": 1,"grape": 1
};

var obj2 = {
  "orange": 5,"banana": 1
};

mergedobj = $.extend({},obj1,obj2);

var printObj = typeof JSON != "undefined" ? JSON.stringify : function (obj) {
  var arr = [];

  $.each(obj,function (key,val) {
    var next = key + ": ";
    next += $.isPlainObject(val) ? printObj(val) : val;
    arr.push(next);
  });

  return "{ " + arr.join(",") + " }";
};

console.log('all together: ' + printObj(mergedobj));

我得到obj1 = {“orange”:5,“apple”:1,“grape”:1,“banana”:1}

我需要的是obj1 = {“orange”:7,“apple”:2,“banana”:1}

解决方法

所有$.extend都会加入这两个对象但它不会添加值,它会覆盖它们.
您将不得不手动执行此操作. $.extend对于添加或修改对象的水果很有用,但如果你需要总和,你将需要循环:
var obj1 = { orange: 2,apple: 1,grape: 1 };
var obj2 = { orange: 5,banana: 1 };
var result = $.extend({},obj2);
for (var o in result) {
  result[o] = (obj1[o] || 0) + (obj2[o] || 0);
}
console.log(result); //=> { orange: 7,apple: 2,grape: 1,banana: 1 }

演示:http://jsfiddle.net/elclanrs/emGyb/

javascript – 如何通过从具有相同名称的键一起添加数值来$.extend 2个对象?的更多相关文章

  1. 使用HTML CSS实现网页换肤效果(二)

    这篇文章主要介绍了使用HTML CSS实现网页换肤效果(二) 的相关资料,需要的朋友可以参考下

  2. PHP:如何删除索引后的所有数组元素

    现在一些“神奇”要得到由于$myArray中的键不是连续的,我没有看到array_slice()的机会请注意:钥匙必须保留!我只知道偏移钥匙!!不使用循环.输出:

  3. PHP数组键存在于string中

    我有一个数组:我也有一个字符串:有没有办法检查字符串中指定的–数组键–是否存在于数组中?

  4. Centos 7 安装 OpenResty api 网关 Orange

    1,Orange网关Orange是一个基于OpenResty的API网关。2,安装openresty需要安装openresty。3,安装Orange首先要安装mariadb-server因为orage使用MysqL进行集中存储配置的。创建一个orange用户的数据库。使用文档:http://orange.sumory.com/docs/all/5,总结本文的原文连接是:http://www.jb51.cc/article/p-nyseisiz-bew.html未经博主允许不得转载。主要还是使用了openr

  5. d3.js – 填充D3数组嵌套中的空白

    我有一个数组或对象组成的日期和一些值:我试图使用d3.nest()来按年份再按月获得这些对象的计数.这几乎可以工作,除了当一个月没有对象时,嵌套数据不包含该月份的计数为0的记录.告诉D3填补这些差距有什么诀窍吗?解决方法尝试在减少之后添加缺少的数据点:

  6. javascript – 将纲要添加到chartist.js中的SVG数据点

    我正在玩Chartist.js,只是想知道你是否可以给我一个应用一些造型SVG的手.这是我的代码如下:jQuery的:HTML:CSS:我只是试图模拟他们在这个令人敬畏的设计上发现的,它在运动中发现,每个数据点都有一个较暗的阴影/与背景相似的阴影的轮廓.我已经尝试在CSS中使用大纲,但它在数据点周围产生一个黑色(或任何颜色,我选择)的方形,我无法弄清楚如何得到圆最后,这里是我已经在一个jsfidd

  7. 如何使用JQuery将键值对存储在二维数组和HashTable中?

    有人可以重定向到正确的链接或给出一个如何在JQuery中使用二维数组或HashTable的示例?我尝试了谷歌,但没有得到答案.我想避免使用任何插件.所有我想做的,存储一些信息和检索他们像HashTable方式.解决方法根据您希望将其用作“哈希表”中的键,您可能需要使用数组属性而不是二维数组的对象.例如:您还可以使用点表示法设置和访问对象中的值:如果你只是想跟踪键/值对,那么一个对象就是要走的路:

  8. 从数组Javascript中删除重复项

    但是我也想知道如何从textarea中删除该副本?

  9. javascript – 如何通过从具有相同名称的键一起添加数值来$.extend 2个对象?

    我目前有2个obj并使用jquery扩展函数,但是它会覆盖具有相同名称的键的值.如何将值一起添加?

  10. jquery – MySQL Group由一列组成,但选择所有数据

    我有一个包含大量数据的数据库.我想选择所有数据,但是按一列分组.例如:在示例中,列A是具有重复值并需要分组的列.但是B列有不同的值,我想选择所有这些值.最后,我想得到一个查询结果:B列的值在jQuery手风琴中.我已经尝试了几个小时,但仍然没有找到办法做到这一点.编辑:我已经设法使用Gordon提供的答案来解决问题.使用PHP我展开了查询结果,并使用while循环收集了数组中的所有数据.它现在很棒,谢谢你们!

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部