配列値の決定の詳細な調査
JavaScript では、配列内に要素が存在するかどうかを決定することが一般的なプログラミング タスクとなる場合があります。これに対処するために、配列反復手法を導入します。
提供された関数:
Array.prototype.contains = function(obj) { var i = this.length; while (i--) { if (this[i] == obj) { return true; } } return false; }
残念ながら、この関数は常に false を返します。潜在的な問題の 1 つは、厳密な等価性ではなく型強制をチェックする if ステートメントで使用される等価演算子 (==) にあります。この行を if (this[i] === obj) に変更すると、問題は解決します。
ただし、jQuery のユーティリティ関数を使用すると、より効率的で簡潔な解決策が利用可能です。
$.inArray(value, array)
この関数は、配列内の特定の値の位置を検索し、見つかった場合はインデックスを返し、見つからない場合は -1 を返します。
例:
arrValues = ["Sam","Great", "Sample", "High"] alert(arrValues.contains("Sam"));
カスタム関数を使用すると期待される出力は true (等価性チェックを修正した後)、または jQuery の $.inArray.
を使用すると 0 になります。以上がJavaScript 配列に値が存在するかどうかを効率的に判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。