2017-11-09 42 views
0

私は検索結果を返すためにオブジェクトの名前プロパティで検索を実行するためにいくつかのオブジェクトを通して検索を実行しようとしています。私はまた、コードの大文字小文字を区別しないようにしようとしているので、ユーザが検索フィールドに '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を返します。私がしようとしているのは、どのようなケーシングでも機能するようにすることだけです。

+1

'animals.toLowerCase()=== name.toLowerCase( "名前")'試してみてください - あなたが使用していることを同じ方法で2つの全く異なる方法であなたが停止して行くことはありませんか?特に次の行で同じことをやっているので、明らかに完全に余分な 'equal'変数のために... – CBroe

+1

何をするべきなのでしょうか?検索またはコンパイル?それに応じて名前を付けてください。 –

+0

この関数は、オブジェクトの配列を検索し、正しいオブジェクトを返すと仮定します。関数が型指定された文字列がオブジェクトのプロパティの値と一致すると識別した場合。 – Ashton

答えて

-3

function search(animals, name) { 
 
if (animals.toLowerCase() === name.toLowerCase()) { 
 
    var equal = animals.toLocaleLowerCase() === name.toLocaleLowerCase(); 
 
    console.log(equal); 
 
} 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> 
 
<button onclick="search('abc','AbC')">Click me</button>

+0

'toLowerCase'は引数を受け付けません。どのように違いますか? – Xufox

+0

私は自分の答えを変えました。 – Zeus234

+0

いいえ、違いはありません。 – Xufox

0

この

var animals = ["cat", "dog", "cow"]; 
 

 
function search(animal, name) { 
 
    
 
    if (animal.toLowerCase() === name.toLowerCase()) { 
 
    console.log("Matchs with : " + animal); 
 
    } else { 
 
    console.log("Not match with : " + animal); 
 
    } 
 
} 
 

 
function myFunction() { 
 
    console.clear(); 
 
    var nameInput = document.getElementById("myText").value; 
 
    animals.forEach(function(entry) { 
 
    search(entry, nameInput); 
 
    }); 
 

 
}
Animal Name: <input type="text" id="myText" /> 
 
<button onclick="myFunction()">Search</button>

+0

ここでは、この 'var name =" CaT "'を使用しますか –

+0

@DavidJorHpan配列動物を宣言したら –

+0

文字列 "CaT"をハードコードしたくありません。私はそれが配列内のオブジェクトと一致するかどうかを評価するために、まだ渡されていない関数(ユーザー入力)を介してパラメーターを渡したいと思います。 – Ashton

関連する問題