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
Nov 25 Javascript
Javascript SHA-1:Secure Hash Algorithm
Dec 20 Javascript
JavaScript 检测浏览器和操作系统的脚本
Dec 26 Javascript
javascript(jquery)利用函数修改全局变量的代码
Nov 02 Javascript
Android中资源文件(非代码部分)的使用概览
Dec 18 Javascript
原生js实现class的添加和删除简单代码
Jul 12 Javascript
Angularjs 制作购物车功能实例代码
Sep 14 Javascript
浅谈jquery的html方法里包含特殊字符的处理
Nov 30 Javascript
浅谈Node.js:理解stream
Dec 08 Javascript
vue实现鼠标移入移出事件代码实例
Mar 27 Javascript
ES6 Class中实现私有属性的一些方法总结
Jul 08 Javascript
使用layui 的layedit定义自己的toolbar方法
Sep 18 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
PHP 第二节 数据类型之数值型
2012/04/28 PHP
实现PHP搜索加分页
2016/10/12 PHP
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
影响jQuery使用的14个方面
2014/09/01 Javascript
node.js中的require使用详解
2014/12/15 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
ajax异步请求详解
2017/01/06 Javascript
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
利用Plupload.js解决大文件上传问题, 带进度条和背景遮罩层
2017/03/15 Javascript
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
详解如何运行vue项目
2019/04/15 Javascript
详解vue-cli3多页应用改造
2019/06/04 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
JavaScript中展开运算符及应用的实例代码
2021/01/14 Javascript
Python-嵌套列表list的全面解析
2016/06/08 Python
Python设置默认编码为utf8的方法
2016/07/01 Python
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
选择Python写网络爬虫的优势和理由
2019/07/07 Python
python实现ip地址的包含关系判断
2020/02/07 Python
浅谈Python中os模块及shutil模块的常规操作
2020/04/03 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
巴西箱包、背包、钱包和旅行配件购物网站:Inovathi
2019/12/14 全球购物
英国著名药妆店:Superdrug
2021/02/13 全球购物
测控技术与仪器个人求职信范文
2013/12/30 职场文书
孝敬父母的演讲稿
2014/05/14 职场文书
霸气队列口号
2014/06/18 职场文书
买房协议书范本
2014/10/23 职场文书
技能培训通讯稿
2015/07/18 职场文书
机械生产实习心得体会
2016/01/22 职场文书
安装配置mysql及Navicat prenium的详细流程
2021/06/10 MySQL