JS实现的JSON数组去重算法示例


Posted in Javascript onApril 11, 2018

本文实例讲述了JS实现的JSON数组去重算法。分享给大家供大家参考,具体如下:

需求描述:去除JSON数组中paymode字段相同的项,并将paymoney累加。

paylist:[{paymode:'1',payname:"现金",paymoney:"20"},
{paymode:'2',payname:"支付宝",paymoney:"50"},{paymode:'1',payname:"现金",paymoney:"40"}]
function UniquePay(paylist){
  var payArr = [paylist[0]];
  for(var i = 1; i < paylist.length; i++){
    var payItem = paylist[i];
    var repeat = false;
    for (var j = 0; j < payArr.length; j++) {
     if (payItem.paymode == payArr[j].paymode) {
        payArr[j].paymoney = parseFloat(payArr[j].paymoney)+parseFloat(payItem.paymoney);
         repeat = true;
         break;
     }
   }
       if (!repeat) {
         payArr.push(payItem);
       }
  }
  return payArr;
}

通用的JSON数组去重

/*
 * JSON数组去重
 * @param: [array] json Array
 * @param: [string] 唯一的key名,根据此键名进行去重
 */
function uniqueArray(array, key){
  var result = [array[0]];
  for(var i = 1; i < array.length; i++){
    var item = array[i];
    var repeat = false;
    for (var j = 0; j < result.length; j++) {
      if (item[key] == result[j][key]) {
        repeat = true;
        break;
      }
    }
    if (!repeat) {
      result.push(item);
    }
  }
  return result;
}
Javascript 相关文章推荐
完整显示当前日期和时间的JS代码
Sep 17 Javascript
兼容主流浏览器的iframe自适应高度js脚本
Jan 10 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
May 09 Javascript
jQuery.holdReady()方法用法实例
Dec 27 Javascript
Bootstrap table分页问题汇总
May 30 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
Jan 20 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
Mar 16 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
Aug 25 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
Sep 29 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
Oct 08 Javascript
js实现鼠标点击页面弹出自定义文字效果
Dec 24 Javascript
JavaScript 反射学习技巧
Oct 16 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
Apr 11 #jQuery
JS常用的几种数组遍历方式以及性能分析对比实例详解
Apr 11 #Javascript
node结合swig渲染摸板的方法
Apr 11 #Javascript
详解react、redux、react-redux之间的关系
Apr 11 #Javascript
Mac下安装vue
Apr 11 #Javascript
vue-cli 组件的导入与使用教程详解
Apr 11 #Javascript
手动用webpack搭建第一个ReactApp的示例
Apr 11 #Javascript
You might like
配置支持SSI
2006/11/25 PHP
PHP实现定时生成HTML网站首页实例代码
2008/11/20 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
2014/09/10 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
2015/12/17 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
PHP实现的解汉诺塔问题算法示例
2018/08/06 PHP
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
Jquery 实现table样式的设定
2015/01/28 Javascript
jQuery验证插件validation使用指南
2015/04/21 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
jQuery用noConflict代替$的实现方法
2017/04/12 jQuery
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
vue实现模态框的通用写法推荐
2018/02/26 Javascript
express框架下使用session的方法
2019/07/31 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
vue使用Sass时报错问题的解决方法
2020/10/14 Javascript
python调用新浪微博API项目实践
2014/07/28 Python
编程语言Python的发展史
2014/09/26 Python
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
django启动uwsgi报错的解决方法
2018/04/08 Python
Python二次规划和线性规划使用实例
2019/12/09 Python
基于torch.where和布尔索引的速度比较
2020/01/02 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
劳动工资科岗位职责范本
2014/03/02 职场文书
医院竞聘演讲稿
2014/05/16 职场文书
运动会方阵口号
2014/06/07 职场文书
民主评议党员总结
2014/10/20 职场文书
求职信范文怎么写
2015/03/19 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
初中地理教学反思
2016/02/19 职场文书
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python
python 闭包函数详细介绍
2022/04/19 Python