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

查看:53
本文介绍了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':['三','五']},
];

解决方案

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))

这篇关于javascript - 怎么实现数组内对象的值是否相同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆