,可以使用JavaScript中的reduce函数和Object.entries方法来实现。下面是一个示例代码:
function mergeArrays(arr) {
return Object.entries(arr.reduce((result, obj) => {
const key = Object.keys(obj)[0];
if (result[key]) {
result[key] = result[key].concat(obj[key]);
} else {
result[key] = obj[key];
}
return result;
}, {}));
}
// 示例用法
const arr = [
{ 'key1': ['value1'] },
{ 'key2': ['value2'] },
{ 'key1': ['value3'] },
{ 'key2': ['value4'] }
];
const merged = mergeArrays(arr);
console.log(merged);
上述代码将输入的数组arr
中具有相同键的值合并,并返回一个新的数组merged
,其中相同键的值被组合成一个数组。对于上述示例输入,输出结果为:
[
['key1', ['value1', 'value3']],
['key2', ['value2', 'value4']]
]
这里使用了reduce函数来迭代输入数组,并创建一个以键为索引的结果对象。如果当前键已存在于结果对象中,将当前值追加到已存在的值数组中;如果当前键不存在于结果对象中,直接赋值为当前值。最后,使用Object.entries方法将结果对象转换为数组形式返回。
在实际应用场景中,这种合并并组合数组的操作在数据处理、数据分析、日志分析等场景中非常常见。可以使用该操作对多个数据源进行合并,以提取有价值的信息或进行进一步的分析。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云