gpt4 book ai didi

javascript - 返回数组中重复元素的最佳方法

转载 作者:搜寻专家 更新时间:2023-11-01 04:52:50 25 4
gpt4 key购买 nike

这是我用来返回重复元素的方式。但是当我的数组中有大量带有长文本的项目时,我面临着最危险的性能问题,例如浏览器关闭等。

var arr = [9, 9, 111, 2, 3, 4, 4, 5, 7];
var sorted_arr = arr.sort();
var results = [];
for (var i = 0; i < arr.length - 1; i++) {
if (sorted_arr[i + 1] == sorted_arr[i]) {
results.push(sorted_arr[i]);
}
}
alert(results);

请建议我最好的方法

最佳答案

我没有得到你想要的,但如果你需要返回重复项,你可以使用缓存对象。这适用于数字或字符串或其他任何东西。

var arr = [9, 9, 111, 2, 3, 4, 4, 5, 7];
var cache = {};
var results = [];
for (var i = 0, len = arr.length; i < len; i++) {
if(cache[arr[i]] === true){
results.push(arr[i]);
}else{
cache[arr[i]] = true;
}

}
console.log(results);//returns an array with 9 and 4

当然你可以做其他的事情,比如删除多个项目等。

编辑 - 我在 how to remove duplicates from an array 上写了一篇博客文章

关于javascript - 返回数组中重复元素的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8314297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com