gpt4 book ai didi

javascript - unique() 用于 javascript 中的数组

转载 作者:可可西里 更新时间:2023-11-01 02:28:39 26 4
gpt4 key购买 nike

<分区>

众所周知,javascript 中没有用于从数组中删除重复项的内置函数。我注意到 jQuery 也缺少这一点(它仅具有用于 DOM 选择的独特功能),我发现的最常见的片段检查整个数组及其每个元素的子集(我认为效率不高),例如:

for (var i = 0; i < arr.length; i++)
for (var j = i + 1; j < arr.length; j++)
if (arr[i] === arr[j])
//whatever

所以我自己做了:

function unique (arr) {
var hash = {}, result = [];
for (var i = 0; i < arr.length; i++)
if (!(arr[i] in hash)) { //it works with objects! in FF, at least
hash[arr[i]] = true;
result.push(arr[i]);
}
return result;
}

我想知道是否有任何其他算法被认为是这种情况下的最佳算法(或者您是否看到任何可以修复的明显缺陷),或者,当您在 javascript 中需要它时您会怎么做(我知道 jQuery不是唯一的框架,其他一些框架可能已经涵盖了这一点。

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