假设我们有一个包含几个数组的数组,每个数组都有两个条目。对于每个数组,我们想要将按照第一个值合并它们。
这可以通过使用reduce方法来实现,如下所示:
const array = [[3, 'apple'], [1, 'banana'], [2, 'orange'], [1, 'lemon']];
const result = array.reduce((acc, current) => { const key = current[0]; const value = current[1];
if (!acc[key]) { acc[key] = [value]; } else { acc[key].push(value); }
return acc; }, {});
console.log(result);
// 输出结果: // { // "3": ["apple"], // "1": ["banana", "lemon"], // "2": ["orange"] // }
在这个示例中,我们使用reduce方法来遍历原始数组,并使用第一个值作为键,将其与相应的值一起存储在一个新的对象中。
如果新对象中不存在当前键,则创建一个新的数组,并将当前值添加到该数组中。否则,只需将当前值添加到已存在的数组中。最后,返回新对象以输出结果。