猿问

怎么实现数组内对象的值是否相同

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':['三','五']},
];


慕尼黑5688855
浏览 823回答 1
1回答

慕雪6442864

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))
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答