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参数列表集合
Apr 06 Javascript
6款新颖的jQuery和CSS3进度条插件推荐
Mar 05 Javascript
JS实现div内部的文字或图片自动循环滚动代码
Apr 19 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
Aug 30 Javascript
详述JavaScript实现继承的几种方式(推荐)
Mar 22 Javascript
JS模仿手机端九宫格登录功能实现代码
Apr 28 Javascript
js表单元素checked、radio被选中的几种方法(详解)
Aug 22 Javascript
js如何编写简单的ajax方法库
Aug 02 Javascript
微信小程序实现轮播图效果
Sep 07 Javascript
使用JSON格式提交数据到服务端的实例代码
Apr 01 Javascript
vue.js实现简单购物车功能
May 30 Javascript
如何在vue 中引入使用jquery
Nov 10 jQuery
[原创]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
php上传excel表格并获取数据
2017/04/27 PHP
扩展String功能方法
2006/09/22 Javascript
10个新的最有前途的JavaScript框架
2009/03/12 Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
如何使用HTML5地理位置定位功能
2015/04/27 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
全面解析Bootstrap弹窗的实现方法
2015/12/01 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
AngularJS基础 ng-href 指令用法
2016/08/01 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
jQuery UI Grid 模态框中的表格实例代码
2017/04/01 jQuery
js 开发之autocomplete=&quot;off&quot;在chrom中失效的解决办法
2017/09/28 Javascript
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
在vue项目中引用Iview的方法
2018/09/14 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
JSON获取属性值方法代码实例
2020/06/30 Javascript
Python和php通信乱码问题解决方法
2014/04/15 Python
python基于phantomjs实现导入图片
2016/05/13 Python
python 处理telnet返回的More,以及get想要的那个参数方法
2019/02/14 Python
Python自动抢红包教程详解
2019/06/11 Python
浅谈Python3中print函数的换行
2020/08/05 Python
Django celery异步任务实现代码示例
2020/11/26 Python
Python操作Excel的学习笔记
2021/02/18 Python
css3的过滤效果简单实例
2016/08/03 HTML / CSS
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
工作表扬信的范文
2014/01/10 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
《放飞蜻蜓》教学反思
2014/04/27 职场文书
升职自荐书
2019/05/09 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python
Python 数据科学 Matplotlib图库详解
2021/07/07 Python