当前位置 : 主页 > 网络编程 > JavaScript >

JS 数组相同的项合并

来源:互联网 收集:自由互联 发布时间:2021-06-30
输入数据 [{"description":"","fieldId":"882783718376513532","id":"890850722614423552","identifier":"敬拜","name":"敬拜","typeIdentifier":"主日类","typeName":"主日类","value":"","valueType":""},{"description":"","fieldId":"88278
输入数据
[
		{
			"description":"",
			"fieldId":"882783718376513532",
			"id":"890850722614423552",
			"identifier":"敬拜",
			"name":"敬拜",
			"typeIdentifier":"主日类",
			"typeName":"主日类",
			"value":"",
			"valueType":""
		},
		{
			"description":"",
			"fieldId":"882783718376513532",
			"id":"890860636057452544",
			"identifier":"带小组",
			"name":"带小组",
			"typeIdentifier":"周间类",
			"typeName":"周间类",
			"value":"",
			"valueType":""
		},
		{
			"description":"",
			"fieldId":"882783718376513532",
			"id":"894213656757518336",
			"identifier":"夜来香",
			"name":"夜来香",
			"typeIdentifier":"主日d",
			"typeName":"主日类",
			"value":"",
			"valueType":""
		},
		{
			"description":"",
			"fieldId":"882783718376513532",
			"id":"894756803174469633",
			"identifier":"aa",
			"name":"aa",
			"typeIdentifier":"周间类",
			"typeName":"周间类",
			"value":"",
			"valueType":""
		},
		{
			"description":"",
			"fieldId":"882783718376513532",
			"id":"895117403331354625",
			"identifier":"a",
			"name":"a硕士",
			"typeIdentifier":"主日类",
			"typeName":"主日类",
			"value":"",
			"valueType":""
		},
		{
			"description":"",
			"fieldId":"882783718376513532",
			"id":"895150266944667650",
			"identifier":"u",
			"name":"u方法",
			"typeIdentifier":"主日类",
			"typeName":"主日类",
			"value":"",
			"valueType":""
		},
		{
			"description":"",
			"fieldId":"882783718376513532",
			"id":"895157599322062849",
			"identifier":"lin",
			"name":"linsf",
			"typeIdentifier":"主日类",
			"typeName":"主日类",
			"value":"",
			"valueType":""
		}
	]
处理逻辑
const areas = {};
const serviceAreas = [];
data.map((item) => {
    const index = item.typeName;
    if (index in areas) {
        areas[index] = areas[index] + "|" + item.name;
        let result = serviceAreas.find((n) => n.key === index);
        result.value.push(item.name);
    }
    else {
        const result = { key: index, value: [item.name] };
        serviceAreas.push(result);
        areas[index] = item.name;
    }
})
console.log(serviceAreas);
返回结果
[
    {
        "key": "主日类", 
        "value": [
            "敬拜", 
            "夜来香", 
            "a硕士", 
            "u方法", 
            "linsf"
        ]
    }, 
    {
        "key": "周间类", 
        "value": [
            "带小组", 
            "aa"
        ]
    }
]
网友评论