ホームページ >ウェブフロントエンド >jsチュートリアル >ゼロを含む重複する値を JavaScript 配列から効率的に削除するにはどうすればよいですか?

ゼロを含む重複する値を JavaScript 配列から効率的に削除するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-22 07:49:13472ブラウズ

How Can I Efficiently Remove Duplicate Values from a JavaScript Array, Including Zeros?

重複を削除して 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;
}

このスクリプトはほとんどの状況下で問題なく機能しますが、配列がゼロが含まれているため、改善の余地があります。この問題を解明するために、Stack Overflow の同様で回復力のあるスクリプトとの比較を詳しく見てみましょう:

function onlyUnique(value, index, array) {
  return array.indexOf(value) === index;
}

// Example usage:
var a = ['a', 1, 'a', 2, '1'];
var unique = a.filter(onlyUnique);

console.log(unique); // ['a', 1, 2, '1']

JavaScript 1.6 (または ECMAScript 5) では、フィルター メソッドは配列を走査するためのより効率的なアプローチを提供します。そして一意の値を抽出します:

  • コールバック関数onlyUniqueは、配列内で最初に出現する要素は、その位置と一致します。
  • この条件で配列をフィルター処理することにより、例で示すように、一意の要素が新しい配列に分離されます。

Byこの更新されたアプローチをコードに組み込むことで、ゼロが存在する場合でも、JavaScript 配列に冗長な要素が含まれていないことを効果的に確認できます。

以上がゼロを含む重複する値を JavaScript 配列から効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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