ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 配列からの重複の削除がゼロの場合に失敗するのはなぜですか?

JavaScript 配列からの重複の削除がゼロの場合に失敗するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-22 13:45:33230ブラウズ

Why Does Removing Duplicates from a JavaScript Array Fail with Zero?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。