首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaScript:如何对嵌套数组进行分组

在JavaScript中,可以使用不同的方法对嵌套数组进行分组。以下是两种常见的方法:

方法一:使用reduce()函数进行分组

代码语言:txt
复制
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);

输出结果:

代码语言:txt
复制
{
  'apple': [['apple', 'orange']],
  'orange': [['apple', 'orange']],
  'banana': [['banana', 'pear']],
  'pear': [['banana', 'pear']],
  'grape': [['grape', 'pineapple']],
  'pineapple': [['grape', 'pineapple']],
  'watermelon': [['watermelon']]
}

方法二:使用Map对象进行分组

代码语言:txt
复制
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));

输出结果:

代码语言:txt
复制
{
  'apple': [['apple', 'orange']],
  'orange': [['apple', 'orange']],
  'banana': [['banana', 'pear']],
  'pear': [['banana', 'pear']],
  'grape': [['grape', 'pineapple']],
  'pineapple': [['grape', 'pineapple']],
  'watermelon': [['watermelon']]
}

以上两种方法都可以对嵌套数组进行分组,根据需要选择适合的方法即可。

推荐的腾讯云相关产品:腾讯云云函数(Serverless Cloud Function),详情请参考腾讯云云函数产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券