javascript - 怎么实现数组内对象的值是否相同
黄舟
黄舟 2017-04-10 17:52:40
[JavaScript讨论组]
var arr = [
    {"code": "a", "poll": '一'},
    {"code": "b", "poll": '二'},
    {"code": "c", "poll": '三'},
    {"code": "a", "poll": '四'},
    {"code": "c", "poll": '五'},
    {"code": "a", "poll": '六'}
];

判断code相等的话就变成

var arr = [
    {"code": "a", 'data':['一','四','六']},
    {"code": "b", 'data':['二']},
    {"code": "c", 'data':['三','五']},
];
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
阿神
function handle(arr) {
    var res = [],
        obj = {},
        index = 0;
    arr.forEach(val => {
        if (obj.hasOwnProperty(val.code)) {
            res[obj[val.code]].num.push(val.poll);
        } else {
            obj[val.code] = index++;
            res.push({
                code: val.code,
                num: [val.poll]
            });
        }
    });
    return res;
}
console.log(handle(arr))
迷茫
var arr = [
  {"code":"111","num":1}, 
  {"code":"112","num":1},
  {"code":"111","num":3},
  {"code":"113","num":1},
  {"code":"113","num":5},
  {"code":"111","num":1}
];
var newArr = [];
for(var i=0; i< arr.length; i++){
  var sum = [arr[i].num];
  var arrOld = arr.concat([]);
  for(var j=arr.length-1; j>i; j--){
    if(arr[i].code === arr[j].code){
      sum.push( arr[j].num);
      arrOld.splice(j,1);
    }
  }
  newArr.push({"code": arr[i].code, 'data': sum});
  arr = arrOld;
}
console.log(newArr);
伊谢尔伦
var arr = [
    {"code": "a", "poll": '一'},
    {"code": "b", "poll": '二'},
    {"code": "c", "poll": '三'},
    {"code": "a", "poll": '四'},
    {"code": "c", "poll": '五'},
    {"code": "a", "poll": '六'}
];
var obj = {};

arr.map(function(item){
    if(obj[item.code]){
        obj[item.code] = obj[item.code] + ','+ item.poll
    }
    else
        obj[item.code] = item.poll
});

var res = Object.keys(obj).map(function(item){
    return {
        code : item,
        data : obj[item].split(',')
    }});

console.log(res);
PHP中文网

var bb=[];
var obj1={};
var index=1;
arr.forEach(function(x){
if(obj1[x.code]){

bb[obj1[x.code]-1].data.push(x.poll)

}else{

obj1[x.code]=index;
index++;
bb.push({"code":x.code,"data":[x.poll]})

}
})

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号