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 相关文章推荐
jquery实现每个数字上都带进度条的幻灯片
Feb 20 Javascript
JS中图片缓冲loading技术的实例代码
Aug 29 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
Jan 27 Javascript
第十章之巨幕页头缩略图与警告框组件
Apr 25 Javascript
Node.js中process模块常用的属性和方法
Dec 13 Javascript
jQuery排序插件tableSorter使用方法
Feb 10 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
Jun 21 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
Aug 23 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
Sep 22 Javascript
JavaScript页面倒计时功能完整示例
May 15 Javascript
JavaScript实现英语单词题库
Dec 24 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
Aug 10 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
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
2016/03/17 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
jquery中的 $(&quot;#jb51&quot;)与document.getElementById(&quot;jb51&quot;) 的区别
2011/07/26 Javascript
在Iframe中获取父窗口中表单的值(示例代码)
2013/11/22 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
2016/05/10 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
2016/11/01 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
jQuery Plupload上传插件的使用
2017/04/19 jQuery
使用JavaScript实现表格编辑器(实例讲解)
2017/08/02 Javascript
JS去掉字符串中所有的逗号
2017/10/18 Javascript
vue.js中使用echarts实现数据动态刷新功能
2019/04/16 Javascript
echarts多条折线图动态分层的实现方法
2019/05/24 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
[02:04]2016国际邀请赛中国区预选赛VG.R晋级之路
2016/07/01 DOTA
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
使用Python设计一个代码统计工具
2018/04/04 Python
更换Django默认的模板引擎为jinja2的实现方法
2018/05/28 Python
python 二维数组90度旋转的方法
2019/01/28 Python
Python面向对象之继承和多态用法分析
2019/06/08 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
python使用pandas处理excel文件转为csv文件的方法示例
2019/07/18 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
新西兰最大的天然保健及护肤品网站:HealthPost(直邮中国)
2021/02/13 全球购物
C# .NET面试题
2015/11/28 面试题
计算机系毕业生推荐信
2013/11/06 职场文书
安全大检查反思材料
2014/01/31 职场文书
食品安全处置方案
2014/06/14 职场文书
opencv读取视频并保存图像的方法
2021/06/04 Python
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js