js将数组中对象某个值相同的去重合并到一起(利用indexOf去重相同名)

本文介绍了如何使用JavaScript通过indexOf方法实现对象数组中某个值相同元素的去重合并,包括去重合并方法的定义和实际调用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.去重合并方法函数

function examineClass(examineList) {
        let typeList = []; //定义空数组,用于装载去重之后的数组,
        let examineClass = {}; //定义空对象,用于数组转换成对象
        if (examineList) { //如果有值
            examineList.forEach(item => {
                //可以用indexOf()数组去重 如果检索的结果匹配到,则返回 1. 如果检索的结果没有匹配值,则返回 -1.
                if (typeList.indexOf(item.dt) === -1) {
                    typeList.push(item.dt);
                    examineClass[item.dt] = [item];
                } else {
                    examineClass[item.dt].push(item);
                }
            })
        }
        console.log(JSON.stringify(examineClass))
        return examineClass;
    }

2.调用示例

//将日期相同的合并

var examineList = [{
	"stm": "2022-02-21 09:13:08",
	"etm": "2022-02-21 09:13:38",
	"xcid": "7349dbb44c3f434699fb9e4b58f2c352",
	"xcount": 1,
	"dt": "2022-02-21"
}, {
	"stm": "2022-02-18 04:36:47",
	"etm": "2022-02-18 04:37:03",
	"xcid": "a9f9360e12b14cd0b8b2f3b48d1b9019",
	"xcount": 2,
	"dt": "2022-02-18"
}, {
	"stm": "2022-02-18 09:01:58",
	"etm": "2022-02-18 09:02:25",
	"xcid": "91e002595ed244d99538d56141ec052b",
	"xcount": 2,
	"dt": "2022-02-18"
}]

var arrNew = examineClass(item.patorls)
console.log(arrNew)


//输出arrNew
        // {
        //     "2022-02-21": [{
        //         "stm": "2022-02-21 03:40:02",
        //         "etm": "2022-02-21 03:40:18",
        //         "xcid": "52a36dc99a344400b454322cac92b1cb",
        //         "xcount": 1,
        //         "dt": "2022-02-21"
        //     }],
        //         "2022-02-18": [{
        //             "stm": "2022-02-18 04:36:47",
        //             "etm": "2022-02-18 04:37:03",
        //             "xcid": "a9f9360e12b14cd0b8b2f3b48d1b9019",
        //             "xcount": 2,
        //             "dt": "2022-02-18"
        //         }, {
        //             "stm": "2022-02-18 09:01:58",
        //             "etm": "2022-02-18 09:02:25",
        //             "xcid": "91e002595ed244d99538d56141ec052b",
        //             "xcount": 2,
        //             "dt": "2022-02-18"
        //         }]
        // }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值