2016-10-20 15 views
2

文字列やオブジェクトの配列を持つときにfindIndexを使用するにはどうしたらいいですか?上記のコードの両方が-1を返しfindIndexを文字列とオブジェクトで使用する方法

console.log(['kk', 'll', 'mm', 'pp'].findIndex(function(x) { x == 'mm'})) 
console.log([{name: 'kk'},{name: 'vv'},{name: 'mm'},{name: 'ok'}].findIndex(function(x) { x.name == 'mm'})) 

jsfiddle

答えて

5

は、あなたがそれは注意すべきで

['kk', 'll', 'mm', 'pp'].findIndex(function(x) { return x == 'mm'}) 

条件値が見つかった場合はそのArray.findIndexが知っているかどうかの結果を返す必要がこのように使用された文字列の配列で、indexOfはうまく動作します。

['kk', 'll', 'mm', 'pp'].indexOf('mm') 

オブジェクトの配列については、2番目の例のように、コールバックを持つことは非常に便利です。

[ 
    {name: 'kk'}, 
    {name: 'vv'}, 
    {name: 'mm'}, 
    {name: 'ok'} 
].findIndex(function(x) { 
    return x.name == 'mm'; 
}); 
関連する問題