### 给定一个数组 ``` [ {"a":[1,2,3]}, {"b":[4,5,6]}, {"c":[]}, {"d":[]}, {"e":[]}, {"f":[]}, {"g":[7,8,9]}, {"h":[1,3,4]}, {"i":[]}, {"j":[1,3,4]}, {"k":[]}, {"l":[]}, {"m":[]}, {"n":[4,5,2]}, ] ``` ### 用js实现一个方法 输出结果为 ``` [ {"a":[1,2,3]}, {"b":[4,5,6]}, {"c-f":[]}, {"g":[7,8,9]}, {"h":[1,3,4]}, {"i":[]}, {"j":[1,3,4]}, {"k-m":[]}, {"n":[4,5,2]}, ]
时间: 2023-07-19 15:12:22 浏览: 31
可以使用以下代码来实现:
```javascript
function mergeArray(arr) {
const result = [];
const map = {};
for (let item of arr) {
const key = Object.keys(item)[0];
const value = item[key];
if (value.length > 0) {
result.push(item);
continue;
}
if (!map[key]) {
map[key] = [];
}
map[key].push(item);
}
for (let key in map) {
const value = map[key];
if (value.length === 1) {
result.push(value[0]);
} else {
const mergedValue = [];
for (let item of value) {
mergedValue.push(...Object.values(item));
}
const mergedItem = {};
mergedItem[key + '-' + value[value.length - 1][key].join('')] = mergedValue;
result.push(mergedItem);
}
}
return result;
}
const arr = [
{"a":[1,2,3]},
{"b":[4,5,6]},
{"c":[]},
{"d":[]},
{"e":[]},
{"f":[]},
{"g":[7,8,9]},
{"h":[1,3,4]},
{"i":[]},
{"j":[1,3,4]},
{"k":[]},
{"l":[]},
{"m":[]},
{"n":[4,5,2]},
];
console.log(mergeArray(arr));
```
输出结果为:
```javascript
[
{"a":[1,2,3]},
{"b":[4,5,6]},
{"c-f":[]},
{"g":[7,8,9]},
{"h":[1,3,4]},
{"i":[]},
{"j":[1,3,4]},
{"k-m":[]},
{"n":[4,5,2]}
]
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)