ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 配列からの重複の削除がゼロの場合に失敗するのはなぜですか?
JavaScript で配列を操作する場合、多くの場合、値が一意であることを確認することが重要です。ただし、ゼロ値を処理するときにエラーが発生すると、混乱する可能性があります。問題とその解決策を見てみましょう。
提供されたコード スニペットは、重複を排除するために Array.prototype.getUnique 関数を使用しています。
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; }
この関数はほとんどの場合問題なく動作しますが、つまずきます。配列にゼロが含まれる場合。この問題を解決するには、JavaScript 1.6/ECMAScript 5 で導入された配列のネイティブ フィルター メソッドを利用できます。
function onlyUnique(value, index, array) { return array.indexOf(value) === index; } // usage example: var a = ['a', 1, 'a', 2, '1']; var unique = a.filter(onlyUnique); console.log(unique); // ['a', 1, 2, '1']
このソリューションでは、onlyUnique 関数により、結果の配列に各値が 1 回だけ出現することが保証されます。 。フィルター メソッドと併用すると、ゼロを含む重複が効果的に削除されます。
以上がJavaScript 配列からの重複の削除がゼロの場合に失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。