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
方法來取得一個具有唯一值的陣列: