es6 嵌套数组合并对应的属性值

let configList = [
            {
                configModelCode: "device_up_type",
                configModelName: "上行方式",
                partAttributeList: [
                    {
                        attributeValue: "LAN",
                        id: "111111",
                        modelCode: "device_up_type",
                        modelName: "上行方式",
                    },
                    {
                        attributeValue: "网口 WiFi",
                        id: "222222",
                        modelCode: "device_up_type",
                        modelName: "上行方式",
                    },
                    {
                        attributeValue: "GPON",
                        id: "333333",
                        modelCode: "device_up_type",
                        modelName: "上行方式",
                    }
                ]
            },
            {
                configModelCode: "decode_type",
                configModelName: "解码模式",
                partAttributeList: [
                    {
                        attributeValue: "64QAM",
                        id: "66666666",
                        modelCode: "decode_type",
                        modelName: "解码模式",
                    },
                    {
                        attributeValue: "4K(30P)",
                        id: "777777",
                        modelCode: "decode_type",
                        modelName: "解码模式",
                    }
                ]
            }
        ]

如何把上边的数组嵌套的数组转成下边这样的

newList=[

{

configModelCode: "device_up_type",

configModelName: "上行方式",

attributeValue:"LAN,网口 WiFi,GPON",

id:"111111,222222,333333"

},

{

configModelCode: "decode_type",

configModelName: "解码模式",

attributeValue:"64QAM,4K(30P)",

id:"66666666,777777"

},

]

 

对configList循环遍历,按要求放到一个新的对象。

let configList = [
            {
                configModelCode: "device_up_type",
                configModelName: "上行方式",
                partAttributeList: [
                    {
                        attributeValue: "LAN",
                        id: "111111",
                        modelCode: "device_up_type",
                        modelName: "上行方式",
                    },
                    {
                        attributeValue: "网口 WiFi",
                        id: "222222",
                        modelCode: "device_up_type",
                        modelName: "上行方式",
                    },
                    {
                        attributeValue: "GPON",
                        id: "333333",
                        modelCode: "device_up_type",
                        modelName: "上行方式",
                    }
                ]
            },
            {
                configModelCode: "decode_type",
                configModelName: "解码模式",
                partAttributeList: [
                    {
                        attributeValue: "64QAM",
                        id: "66666666",
                        modelCode: "decode_type",
                        modelName: "解码模式",
                    },
                    {
                        attributeValue: "4K(30P)",
                        id: "777777",
                        modelCode: "decode_type",
                        modelName: "解码模式",
                    }
                ]
            }
        ]

let newList=[];
configList.forEach(function(v){
	let attributeValues = [];
	let ids = [];
	v.partAttributeList.forEach(function(v2){
		attributeValues.push(v2.attributeValue);
		ids.push(v2.id);
	});
	let obj = {
		configModelCode: v.configModelCode,
		configModelName: v.configModelName,
		attributeValue:attributeValues.join(","),
		id:ids.join(",")
	};
	newList.push(obj);
});
console.log(newList);

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

let data = configList.map(item=>{
        	let {configModelCode,configModelName,partAttributeList} = item
        	let {attributeValue,id} = partAttributeList.reduce((a,b)=>{return {attributeValue:`${a.attributeValue},${b.attributeValue}`,id:`${a.id},${b.id}`}})
        	return {
        		configModelCode,
        		configModelName,
        		attributeValue,id
        	}
        })
        console.log(data)