<pre class="brush:php;toolbar:false;"><p>数値の配列があり、その中の数値が一意であることを確認する必要があります。インターネット上で次のコード スニペットを見つけました。これは、配列にゼロが存在するまで正常に動作します。 Stack Overflow でほぼ同一のスクリプトをもう 1 つ見つけましたが、失敗しませんでした。 </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)};
を返します。
}</code></pre>
<コード>
<h3>重複した質問からのその他の回答: </h3>
<li>JS 配列から重複する値を削除</li>
</ul>
<h3>同様の質問: </h3>
<li>配列内のすべての非固有値を取得します (つまり、繰り返し/複数の出現)</li>
</ul><p><br /></p></code></pre>
ES6/ES2015 の更新された回答: Set と spread 演算子 を使用した 1 行のソリューション (le-m に感謝)以下に続きます:
リーリー戻り結果は次のとおりです:
リーリーJavaScript 1.6 / ECMAScript 5 では、配列のネイティブ
filter
メソッドを使用して、一意の値を持つ配列を取得できます。