标签:for index 数组 参数 turn grep == 用法 price
1、将数组对象arr按照num倒序排序。
var arr = [ {name:‘A‘,num:4}, {name:‘G‘,num:3}, {name:‘V‘,num:5}, {name:‘A‘,num:2}, {name:‘X‘,num:9}, {name:‘R‘,num:6}, {name:‘N‘,num:undefined}, ]
function compare(property){ // 该函数用来接收对象属性名 return function(a,b){ var value1 = a[property]; var value2 = b[property]; return value2 - value1; } }
arr.sort(compare(‘num‘));// 用法:sort方法接收这个函数作为参数
2、$.grep 处理数据
(1)数据
data.data = [ { BUY_PRICE: -500, BUY_QTY: 30, GOODS_ID: 292, SKU_ID: 52, SKU_NAME: "液氯(1)", SKU_PRICE: 0, delivery_fee: 0, goods_sku_price: 950 }, { BUY_PRICE: -500, BUY_QTY: 52, GOODS_ID: 292, SKU_ID: 20, SKU_NAME: "液氯(瓶车)", SKU_PRICE: 0, delivery_fee: 0, goods_sku_price: 950 }, { BUY_PRICE: -500, BUY_QTY: 21, GOODS_ID: 292, SKU_ID: 52, SKU_NAME: "液氯(1)", SKU_PRICE: 0, delivery_fee: 0, goods_sku_price: 950 }, { BUY_PRICE: -500, BUY_QTY: 30, GOODS_ID: 292, SKU_ID: 20, SKU_NAME: "液氯(瓶车)", SKU_PRICE: 0, delivery_fee: 0, goods_sku_price: 950 }, { BUY_PRICE: -500, BUY_QTY: 21, GOODS_ID: 292, SKU_ID: 21, SKU_NAME: "液氯(2)", SKU_PRICE: 0, delivery_fee: 0, goods_sku_price: 950 } ]
(2)处理
var arr = res.data.data; var all = []; var nameArrO = [],nameArrN = []; for(var i=0;i<arr.length;i++){ nameArrO.push(arr[i].SKU_ID) } for(var i = 0; i < nameArrO.length; i++){ if(nameArrN.indexOf(nameArrO[i]) == -1){ nameArrN.push(nameArrO[i]); } } for(var i = 0; i < nameArrN.length; i++){ var item = $.grep(arr, function(num,index) { return ( num.SKU_ID == nameArrN[i] ); }); var totalNum = 0,totalPrice = 0; for(var j=0;j<item.length;j++){ totalNum+=item[j].BUY_QTY; totalPrice+=item[j].BUY_QTY*(item[j].BUY_PRICE+item[j].delivery_fee1); } all.push({ name:item[0].SKU_NAME, id:item[0].SKU_ID, totalNum:totalNum, totalPrice:totalPrice, data:item }) }
(3)处理后返回的数据
all = [ { data: [ { ...data.data }, ] id: 20, name: "液氯(瓶车)", totalNum: 72, totalPrice: -6780, },
{ data: [ { ...data.data }, ] id: 52, name: "液氯(1)", totalNum: 72, totalPrice: -6780, },
{ data: [ { ...data.data }, ] id: 21, name: "液氯(2)", totalNum: 72, totalPrice: -6780, }
]
标签:for index 数组 参数 turn grep == 用法 price
原文地址:https://www.cnblogs.com/panpan-1023/p/10861131.html