2017-11-19 23 views
3

で最初のオブジェクトを検索します。私はこのような配列を持つ配列

私はループでこのメソッドを書いた:

findObject(array, value) { 
    for(let i = 0; i < array.length; i++) { 
     if(array[i].value === value) { 
      return i; 
     } 
    } 
    return -1; 
} 

はループせずにそれを行うための方法はありますか?ありがとうございました。

+0

インデックスまたはアイテムが必要ですか? –

答えて

5

コールバック付きのインデックスにArray#findIndexを使用できます。項目については

const 
 
    array = [{ id: "1", value: "alpha" }, { id: "2", value: "beta" }, { id: "3", value: "beta" }, { id: "4", value: "omega" }], 
 
    value = 'beta', 
 
    index = array.findIndex(o => o.value === value); 
 
    
 
console.log(index);

、あなたはArray#findを使用することができます。

const 
 
    array = [{ id: "1", value: "alpha" }, { id: "2", value: "beta" }, { id: "3", value: "beta" }, { id: "4", value: "omega" }], 
 
    value = 'beta', 
 
    item = array.find(o => o.value === value); 
 
    
 
console.log(item);

+0

ありがとうニーナそれです – ruby

1

ES 5であなたもこれを使用することができます。

var index = array.findIndex(function(item){return item.value === value};  
console.log(index); 
関連する問題