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

本文实例讲述了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代码检验、检验、美化、格式化工具:

http://tools.jb51.net/code/json

JSON在线格式化工具:

http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:

以上是 JS实现的JSON数组去重算法示例 的全部内容, 来源链接: utcz.com/z/319197.html

回到顶部