根据key值相同,把对应的value相加。

		window.onload = function() {

			$.ajaxSettings.async = false;
			var startData = [];

			var animalNum = 0;
			var cardNum = 0;
			var startShengName;
			$.getJSON("jspro/course1.json", function(data) { 

				var sorted = groupBy(data, function(item) {
					return [item.startShengName];
				});
				var data = sorted;
				console.log("sorted", sorted);
				console.log("animalNum", animalNum);
				console.log("cardNum", cardNum);

				for(var i = 0; i < sorted.length; i++) {

					var x = sorted[i];

					for(var j = 0; j < x.length; j++) {
						console.log(x[j]);
						animalNum += x[j].animalNum;
						cardNum += x[j].cardNum;
						startShengName = x[j].startShengName;
					}
					console.log("animalNum", animalNum);
					console.log("animalNum", animalNum);
					console.log("cardNum", cardNum);
					var jsonObj7 = {
						'startShengName': startShengName,
						'animalNum': animalNum,
						'cardNum': cardNum
					};
					startData.push(jsonObj7)
				};

			});
			console.log("startData", startData);

		}

		function groupBy(array, f) {
			let groups = {};
			array.forEach(function(o) {
				let group = JSON.stringify(f(o));
				groups[group] = groups[group] || [];
				groups[group].push(o);
			});
			return Object.keys(groups).map(function(group) {
				return groups[group];
			});
		}

猜你喜欢

转载自blog.csdn.net/weixin_38959210/article/details/106139523