zoukankan      html  css  js  c++  java
  • 根据业务需求做得数据处理

    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="UTF-8">
    	<title></title>
    </head>
    <body></body>
    <script>
    	// 将arr 遍历 成 arrn的结构
    	var arr = [
    		{
    			"city": "北京",
    			"num": "100",
    			"startoff": "深圳"
    		}, {
    			"city": "上海",
    			"num": "200",
    			"startoff": "深圳"
    		}, {
    			"city": "山东",
    			"num": "200",
    			"startoff": "天津"
    		}, {
    			"city": "辽宁",
    			"num": "200",
    			"startoff": "天津"
    		}
    	];
    	// arr处理后的结果
    	// [
    	// 	["深圳", [[{ "name": "深圳" }, { "name": "北京", "value": "100" }], [{ "name": "深圳" }, { "name": "上海", "value": "200" }]]], 
    	// 	["天津", [[{ "name": "天津" }, { "name": "山东", "value": "200" }], [{ "name": "天津" }, { "name": "辽宁", "value": "200" }]]]
    	// ]
    	// 分组
    	function groupArr(arr) {
    		var newArr = [];
    		if (arr != null && arr.length > 0) {
    			for (var i = 0; i < arr.length; i++) {
    				var exist = false;
    				var tempIndex = -1;
    				for (var j = 0; j < newArr.length; j++) {
    					if (arr[i].startoff === newArr[j][0]) {
    						exist = true;
    						tempIndex = j;
    					}
    				}
    				// 是否存在同一出发点
    				if (exist) {
    					var tempArr = newArr[tempIndex];
    					var obj = [{
    						name: arr[i].startoff
    					}, {
    						name: arr[i].city,
    						value: arr[i].num
    					}];
    					tempArr[1].push(obj);
    				} else {
    					var obj = [arr[i].startoff, [
    						[{
    							name: arr[i].startoff
    						}, {
    							name: arr[i].city,
    							value: arr[i].num
    						}]
    					]];
    					newArr.push(obj);
    				}
    			}
    			return newArr;
    		}
    		return null;
    	}
    	// 执行
    	console.dir(JSON.stringify(groupArr(arr)));
    	console.dir(groupArr(arr));
    
    	var list = [
    		[
    			{
    				name: "北京",
    				value: "111",
    				num: ""
    			}, {
    				name: "北京"
    			}
    		],
    		[
    			{
    				name: "北京",
    				value: "123",
    				num: "123"
    			}, {
    				name: "北京"
    			}
    		],
    		[
    			{
    				name: "上海",
    				value: "123",
    				num: "123"
    			}, {
    				name: "北京"
    			}
    		]
    	];
    	var listres = [];
    	for (var j = 0; j < list.length; j++) {
    		if (list[j][0].name == list[j][1].name) {
    			if (list[j][0].num === "") {
    				list.splice(j, 1);
    			}
    		}
    	}
    	console.log(list)
    </script>
    </html>
    
  • 相关阅读:
    zookeeper
    消息中间件介绍
    Java实现动态代理的两种方式
    深入理解Java内存模型
    消息中间件(一)MQ详解及四大MQ比较
    synchronized关键字详解及分析锁升级过程
    JDK1.6的Synchronized底层优化(偏向锁、轻量级锁)
    分布式通信-tcp/ip socket
    技术点
    大众点评 cat
  • 原文地址:https://www.cnblogs.com/lisaShare/p/12799831.html
Copyright © 2011-2022 走看看