javascript的Map使用

setExpenseAndAmountSum: function() {
                
                var detailList = vehicleVueObj.vehicleData;
                var expenseAmountSum = "";//报销金额
                var expenseAmountMap = new Map();//存放key为币种符号,value为报销某一币种的合计
                var invoiceCountSum = 0;
//                    var expenseAmountTotalMap = new Map();
                if (detailList != undefined && detailList.length > 0){
                    for (var i = 0;i < detailList.length;i++) {
                        if(detailList[i]!=null){
                            //报销金额总和
                            var currencyNo = detailList[i]["currencySymbol"];//币别符号
                            var expenseAmount = detailList[i]["expenseAmount"];//报销金额
                            if(!detailList[i]["ifSettlement"]){ //去掉 统一结算的情况
                                var travelExpenseAmountTotal = Supp.Util.add(Number(expenseAmountMap.get(currencyNo) || 0) , Number(expenseAmount));
                                if(currencyNo!=null){
                                    expenseAmountMap.set(currencyNo,travelExpenseAmountTotal);
                                }
                            }
                            
                            //票据的总数量
                            var invoiceCount = detailList[i]["invoiceCount"];
                            if(!isNaN(invoiceCount) && invoiceCount != "") {
                                invoiceCountSum = Supp.Util.add(invoiceCountSum,invoiceCount);
                            }
                            vehicleVueObj.titleSumData["invoiceCountSum"] = invoiceCountSum;
                        }
                    }
                }


                //报销金额总和
                if (expenseAmountMap != undefined && expenseAmountMap.size > 0) {
                    var varEntries = expenseAmountMap.entries();
                    var keyPairList = [];
                    for (var k = 0;k < 50;k++) {
                        keyPairList.push(varEntries.next().value);
                    }
                    
                    for (var indexPair = 0;indexPair < keyPairList.length; indexPair++) {
                        if(keyPairList[indexPair] != undefined){
                            var keyPair =  keyPairList[indexPair];
                            var bibie = keyPair[0];
                            var money = keyPair[1];
                            expenseAmountSum += bibie + money + " ";
                        }
                        
                    }

                    vehicleVueObj.titleSumData["expenseAmountSum"] = expenseAmountSum;
                }
            }
原文地址:https://www.cnblogs.com/YangBinChina/p/11010486.html