ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript 配列からゼロを含む一意の値を効率的に取得する方法

JavaScript 配列からゼロを含む一意の値を効率的に取得する方法

Susan Sarandon
リリース: 2024-12-22 02:54:14
オリジナル
918 人が閲覧しました

How to Efficiently Retrieve Unique Values from a JavaScript Array, Including Zeroes?

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート