检查数组的某些元素是否相等 JavaScript
javascriptweb developmentobject oriented programming更新于 2025/10/9 23:08:17
我们有一个数字数组,其中包含一些冗余条目,我们的工作是编写一个函数,该函数接收数组并将所有相同的条目分组到一个子数组中,并返回由此形成的新数组。
例如 −
//如果输入数组为: const arr = [1, 3, 3, 1]; //则输出应为: const output = [[1, 1], [3, 3]];
我们将使用 HashMap 来跟踪已经出现的元素,并使用 for 循环遍历数组,此代码为 −
示例
const arr = [1, 3, 3, 1];
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 方法返回数组的新长度
//新推送元素的索引为长度-1
map[arr[i]] = group.push([arr[i]])-1;
}
};
return group;
}
console.log(groupArray(arr));
输出
控制台中的输出将是 −
[ [ 1, 1 ], [ 3, 3 ] ]
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

