在 JavaScript 中将相同的条目组合在一起

javascriptweb developmentfront end technologyobject oriented programming更新于 2026/2/3 12:28:17

我们有一个包含相同条目的数字数组。我们需要编写一个函数,该函数接收数组并将所有相同的条目分组到一个子数组中,并返回由此形成的新数组。

例如:如果输入数组是 −

const arr = [234, 65, 65, 2, 2, 234];

// 那么输出应该是 −

const output = [[234, 234], [65, 65], [2, 2]];

我们将使用 Hashmap 来跟踪已经出现的元素,并使用 for 循环遍历数组。

因此,让我们编写该函数的代码 −

示例

其代码为 −

const arr = [234, 65, 65, 2, 2, 234];
const groupArray = arr => {
   const map = {};
   const group = [];
   for(let i = 0; i < arr.length; i++){
      if(typeof map[arr[i]] === 'number'){
         group[map[arr[i]]].push(arr[i]);
      }else{
         //push方法返回数组的新长度
         //新推送元素的索引为length-1
         map[arr[i]] = group.push([arr[i]])-1;
      }
   };
   return group;
}
console.log(groupArray(arr));

输出

控制台中的输出将是 −

[ [ 234, 234 ], [ 65, 65 ], [ 2, 2 ] ]

相关文章


有用资源