在JavaScript中,可以使用不同的方法对嵌套数组进行分组。以下是两种常见的方法:
方法一:使用reduce()函数进行分组
const arr = [['apple', 'orange'], ['banana', 'pear'], ['grape', 'pineapple'], ['watermelon']];
const grouped = arr.reduce((result, subArr) => {
subArr.forEach(item => {
if (!result[item]) {
result[item] = [];
}
result[item].push(subArr);
});
return result;
}, {});
console.log(grouped);
输出结果:
{
'apple': [['apple', 'orange']],
'orange': [['apple', 'orange']],
'banana': [['banana', 'pear']],
'pear': [['banana', 'pear']],
'grape': [['grape', 'pineapple']],
'pineapple': [['grape', 'pineapple']],
'watermelon': [['watermelon']]
}
方法二:使用Map对象进行分组
const arr = [['apple', 'orange'], ['banana', 'pear'], ['grape', 'pineapple'], ['watermelon']];
const grouped = new Map();
arr.forEach(subArr => {
subArr.forEach(item => {
if (!grouped.has(item)) {
grouped.set(item, []);
}
grouped.get(item).push(subArr);
});
});
console.log(Object.fromEntries(grouped));
输出结果:
{
'apple': [['apple', 'orange']],
'orange': [['apple', 'orange']],
'banana': [['banana', 'pear']],
'pear': [['banana', 'pear']],
'grape': [['grape', 'pineapple']],
'pineapple': [['grape', 'pineapple']],
'watermelon': [['watermelon']]
}
以上两种方法都可以对嵌套数组进行分组,根据需要选择适合的方法即可。
推荐的腾讯云相关产品:腾讯云云函数(Serverless Cloud Function),详情请参考腾讯云云函数产品介绍。