2 wwdd12391 wwdd12391 于 2016.03.22 13:07 提问

js合并数组相同key值的项 ,急

var arr=[ {a:3,b:4}, {a:3,b:7}, {a:5,b:2}, {a:5,b:1} ]
怎样合并为
var arr=[ {a:3,b:4,7}, {a:5,b:2,1} ]

2个回答

danielinbiti
danielinbiti   Ds   Rxr 2016.03.22 13:42
已采纳
 <script>
var arr=[{a:3,b:4}, {a:3,b:7}, {a:5,b:2}, {a:5,b:1}];
var tempMap={};
for(var i=0;i<arr.length;i++){
   var obj = arr[i];
   var key = obj["a"];
   if(tempMap[key]!=0&&!tempMap[key]){
      tempMap[key]=obj["b"];
   }else{
      tempMap[key]=tempMap[key]+","+obj["b"];
   }   
}
var arrM=[];
for(key in tempMap){
 arrM.push({a:key,b:tempMap[key+'']});
}
for(i=0;i<arrM.length;i++){
  alert(arrM[i]['a']+"---"+arrM[i]['b']);//arrM是结果数组
}
</script>
enpterexpress
enpterexpress   Rxr 2016.03.22 13:34

遍历元素,判断a,操作b

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
js 剔除数组中相同的值,合并数组中相同项
实现效果如:["2013-01","2013-02","2013-03"] 代码如下: var a = ["2013-01","2013-01","2013-02","2013-02","2013-02","2013-03","2013-03"]; Array.prototype.del = function() { var a = {}, c = [], l = this.lengt
如何将不同数组对象合并,根据相同的key
let provinceObjects = [ {'name': '北京', 'code': 110000}, {'name': '天津', 'code': 120000}, {'name': '河北', 'code': 130000}, {'name': '山西', 'code': 140000}, {'name': '内蒙古', 'code': 150000}, {'n
有相同键值的json合并为一个数组
今天我们分享的是,如何使用javascript来将两个含有相同键值的json合并为一个数组。 已知arr1的长度和arr2相等,arr1和arr2含有相同的键值id,使用js如何得到merge。 如下数据: var merge= [{id: 12,name: 20,title: 500}, {id: 13,name: 30,title: 666}]; 下面是实现过程。 var ar
php数组根据某一个键值,把相同键值的合并生成一个新的二维数组
php数组根据某一个键值,把相同键值的合并生成一个新的二维数组 源数据: $infos = array( array( 'a' => 36, 'b' => 'xa', 'c' => '2015-08-28 00:00:00', 'd' => '2015/
有关合并某一字段键值相同的数组合并的改进
/** **关于参数的说明 **$key键值相同的键名 **$array代表原数组 **$start代表$array[0][$key] **$newkey代表相同键值相同的键名 **/ function combine_same_val($array,$start,$key,$newkey){ static $new; foreach($array as $k=>$v){
js得到多维数组中相同键的值
js得到多维数组中相同键的值
javascript 把一个数组里面相同的数字组合成一个数组然后组成一个新的二维数组
定义两个数组: var arr = [a,2,a,1,2,b,b];//原数组 var arr2 = [];//新的二维数组定义两个方法,一个用来遍历原数组arr,将里面相同的内容作为一个数组返回,function _indexOf(a,arr){ var arr2 = []; for(var i=0;i&amp;lt;arr.length;i++){ if(arr[i]==a)...
php将两个数组相同的key合并到一个数组
0 $arr = array( array( 'id' => 1, 'user_name'=>'test1' ), array( 'id' => 2, 'user_name'=>'test2' ), array( 'id' => 3, 'user_name'=>'test3' ) );
js把json中相同key的数据重新组成一个新的json
var j1 = [ { "menuDate": 1, "dinnerTime": "0", "num": 5 }, { "menuDate": 1, "dinnerTime": "0", "num": 1 }, { "menuDate": 1,
数组对象根据某个值相同合并分组
var arr = [     {"id":"1001","name":"值1","value":"111"},     {"id":"1001","name":"值1","value":"11111"},     {"id":"1002","name":"值2","value":"25462"},     {"id":"1002","name":"值2","value":