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 相关文章推荐
javascript,jquery闭包概念分析
Jun 19 Javascript
麻雀虽小五脏俱全 Dojo自定义控件应用
Sep 04 Javascript
Javascript将string类型转换int类型
Dec 09 Javascript
Javascript模块化编程(一)模块的写法最佳实践
Jan 17 Javascript
Seajs的学习笔记
Mar 04 Javascript
jquery中radio checked问题
Mar 16 Javascript
搭建Bootstrap离线文档的方法
Dec 02 Javascript
JQuery元素快速查找与操作
Apr 22 jQuery
vue项目中应用ueditor自定义上传按钮功能
Apr 27 Javascript
详解如何更好的使用module vuex
Mar 27 Javascript
深入理解 ES6中的 Reflect用法
Jul 18 Javascript
在nuxt中使用路由重定向的实例
Nov 06 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 获取一个月第一天与最后一天的代码
2010/05/16 PHP
zf框架的registry(注册表)使用示例
2014/03/13 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
JS弹出窗口代码大全(详细整理)
2012/12/21 Javascript
JQuery为textarea添加maxlength属性并且兼容IE
2013/04/25 Javascript
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
浅谈AngularJS中ng-class的使用方法
2016/11/11 Javascript
JS+DIV实现的卷帘效果示例
2017/03/22 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
从parcel.js打包出错到选择nvm的全部过程
2018/01/23 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
Python类方法__init__和__del__构造、析构过程分析
2015/03/06 Python
Python生成随机密码
2015/03/10 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
django初始化数据库的实例
2018/05/27 Python
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
2019/11/06 Python
python:动态路由的Flask程序代码
2019/11/22 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
2020/02/29 Python
Python基于mediainfo批量重命名图片文件
2020/12/29 Python
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
美国亚马逊旗下男装网站:East Dane(支持中文)
2019/09/25 全球购物
牧马人澳大利亚官网:Wrangler澳大利亚
2019/10/08 全球购物
网游商务专员求职信
2013/10/15 职场文书
文秘专业应届生求职信范文
2013/11/14 职场文书
自荐信怎么写呢?
2013/12/09 职场文书
廉洁自律承诺书
2014/03/27 职场文书
初中班主任经验交流材料
2014/05/16 职场文书
开会通知
2015/04/20 职场文书
浅谈MySQL之select优化方案
2021/08/07 MySQL
python字符串的一些常见实用操作
2022/04/06 Python