JavaScript 配列から一意の値を取得する
この質問では、JavaScript 配列から重複する値を削除しながら、整合性を確保することを目的としています。要素ゼロ。ゼロを処理するときに問題が発生するスニペットを調べてみましょう:
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 固有の強制を利用しています。ゼロは JavaScript では偽の値であり、JavaScript のオブジェクトはデフォルトで真であるため、最初のループ中にオブジェクトに追加されます。その結果、後続のループ中に結果の配列にプッシュされます。
ただし、最新の JavaScript (ES5 以降) では、配列の一意性を実現するためのより効率的で信頼性の高いメソッドにアクセスできます。
ネイティブ フィルター メソッド:
フィルター メソッドを使用すると、配列の要素を反復処理して新しい配列を返すことができます。指定されたテスト関数に合格する要素のみを含みます。同じ要素の最初の出現とインデックスを比較することによって、要素が配列内で一意であるかどうかをチェックする関数を定義できます:
function onlyUnique(value, index, array) { return array.indexOf(value) === index; } // Example usage: const a = ['a', 1, 'a', 2, '1']; const unique = a.filter(onlyUnique); console.log(unique); // Logs: ['a', 1, 2, '1']
以上がJavaScript 配列からゼロを含む一意の値を効率的に取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。