JavaScript数组去重:获取所有唯一值
P粉779565855
2023-08-20 11:36:41
<pre class="brush:php;toolbar:false;"><p>我有一个数字数组,我需要确保其中的数字是唯一的。我在互联网上找到了下面的代码片段,它可以很好地工作,直到数组中有一个零。我在Stack Overflow上找到了另一个几乎完全相同的脚本,但它不会失败。</p>
<p>为了帮助我学习,有人能帮我确定原型脚本出了什么问题吗?</p>
<pre><code>Array.prototype.getUnique = function() {
var o = {}, a = [], i, e;
for (i = 0; e = this[i]; i++) {o[e] = 1};
for (e in o) {a.push (e)};
return a;
}</code></pre>
<code>
<h3>来自重复问题的更多答案:</h3>
<ul>
<li>从JS数组中删除重复值</li>
</ul>
<h3>类似的问题:</h3>
<ul>
<li>获取数组中所有非唯一值(即:重复/多次出现)</li>
</ul><p><br /></p></code></pre>
ES6/ES2015的更新答案:使用Set和扩展运算符(感谢le-m),单行解决方案如下:
返回结果为:
使用 JavaScript 1.6 / ECMAScript 5,您可以使用数组的原生
filter
方法来获取一个具有唯一值的数组: