欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-03-14 20:07:13
本文实例讲述了js实现的json数组去重算法。分享给大家供大家参考,具体如下: 需求描述:去除json数组中paymode字段相同的项,并将paymoney累加。...

本文实例讲述了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;
}

ps:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线json代码检验、检验、美化、格式化工具:

json在线格式化工具:

在线xml/json互相转换工具:

json代码在线格式化/美化/压缩/编辑/转换工具:

在线json压缩/转义工具:

更多关于javascript相关内容可查看本站专题:《javascript中json操作技巧总结》、《javascript查找算法技巧总结》、《javascript错误与调试技巧总结》、《javascript数据结构与算法技巧总结》、《javascript遍历算法与技巧总结》及《javascript数学运算用法总结

希望本文所述对大家javascript程序设计有所帮助。