私は検索結果を返すためにオブジェクトの名前プロパティで検索を実行するためにいくつかのオブジェクトを通して検索を実行しようとしています。私はまた、コードの大文字小文字を区別しないようにしようとしているので、ユーザが検索フィールドに 'CaT'や 'cat'を入力すると、 "Cat"オブジェクトが返されます。私はJSの新しいユーザーで、toLowerCase/toUpperCaseに精通していますが、reg/exp私は苦労しています。誰かが私がこのコードを間違っていることに関するヒントを提供できれば?以下のようにJavaScriptで大文字と小文字を区別しない
function search(animals, name) {
if (animals.toLowerCase() === name.toLowerCase()) {
return animals;
}
}
//新しい編集 プロンプト質問と私の元のコードは:
ことsearch(animals, name) { //... }
の署名とsearch
と呼ばれる機能を実装します。 - 表すのparamaterを取りanimals
の配列。 - 検索を実行する動物の名前であるStringを表すパラメータを取得します。 - animals
Arrayを探し、その名前の動物が存在する場合、その動物のObjectを返します。 - その名前の動物は、これはそれはそれが作成された正確な筐体に入力された場合、オブジェクトのプロパティに一致で働いていた
function search(animals, name) {
for (var i = 0; i < animals.length-1; i++) {
if (animals[i].name === name) {
return animals[i];
} else {
console.log(null)
}
}
}
を存在しない場合はnull
を返します。私がしようとしているのは、どのようなケーシングでも機能するようにすることだけです。
'animals.toLowerCase()=== name.toLowerCase( "名前")'試してみてください - あなたが使用していることを同じ方法で2つの全く異なる方法であなたが停止して行くことはありませんか?特に次の行で同じことをやっているので、明らかに完全に余分な 'equal'変数のために... – CBroe
何をするべきなのでしょうか?検索またはコンパイル?それに応じて名前を付けてください。 –
この関数は、オブジェクトの配列を検索し、正しいオブジェクトを返すと仮定します。関数が型指定された文字列がオブジェクトのプロパティの値と一致すると識別した場合。 – Ashton