【js数组对象合并相同ID的对象】

背景:dbc文件配置 将fileid一直的signal合并在一起
意指将
[fileId: “239”,signal:{CDU_4:[‘CDU_NavilimitSpdVD’,‘CDU_ICM_ModeSet’]}
[fileId: “239”,signal:{TheMessage:[‘TheSignal’]}中ID相同的signal进行合并 组成新的数组
成为
[fileId: “239”,signal:{TheMessage:[‘TheSignal’],CDU_4:[‘CDU_NavilimitSpdVD’,‘CDU_ICM_ModeSet’]}

wrapFiles.forEach((item) => {
    
    
            var dataItem = item;
            if (newArr.length > 0) {
    
    
                var filterValue = newArr.filter((v) => {
    
    
                    return v.fileId === dataItem.fileId;
                });
                if (filterValue.length > 0) {
    
    
                    newArr.forEach((n) => {
    
    
                        console.log(newArr);
                        if (n.fileId === filterValue[0].fileId) {
    
    
                            n.signals = Object.assign(filterValue[0].signals, dataItem.signals);
                        }
                    });
                } else {
    
    
                    newArr.push(dataItem);
                }
            } else {
    
    
                newArr.push(dataItem);
            }
        });

猜你喜欢

转载自blog.csdn.net/weixin_43569396/article/details/125103542
今日推荐