2016-12-15 5 views

答えて

0

それぞれのメソッドに単純に使用します。

var arr=[{date:1991, value: 78}, {date:1992, value: 102}, {date:1993, value: 277},{date:1991, value: 79}]; 
 
var v=1991,ans=[]; 
 

 
arr.forEach(function(a){ 
 
if(a.date==v) 
 
    ans.push(a.value); 
 
}); 
 
console.log(ans);

0

単純なフィルタステートメントを使用します。 あなたはArray#findメソッドを使用することができます

var data = [{date:1991, value: 78}, {date:1992, value: 102}, {date:1993, value: 277}] 
 
var result = data.filter(x => x.date == 1991) 
 
console.log(result)

+0

おかげで、これはあなたが値のリストをしたい場合は、マップを使用することができます最速の答え – WirAre

+0

のようだ: '結果= result.map(X => X .value) '。要素が1つしかないと確信がある場合は、[0]を追加して取得します。 – fafl

1

。古いブラウザチェックpolyfill option of find methodについては

var data = [{ 
 
    date: 1991, 
 
    value: 78 
 
    }, { 
 
    date: 1992, 
 
    value: 102 
 
    }, { 
 
    date: 1993, 
 
    value: 277 
 
    }], 
 
    date = 1991; 
 

 
console.log(
 
    (data.find(function(v) { 
 
    return v.date == date; 
 
    }) || {}).value 
 
)

。メソッドのfilter()を使用して

+0

彼は値が – Mahi

+0

IE「配列番号の検索」をサポートしていませ – azad

+0

値がオブジェクト – Mahi

1

、あなたが要求したとして、あなたがしたい場合にも、同じことをするためのユーザー定義関数を使用することができ

const dict = [ {date:1991, value: 78}, 
 
       {date:1992, value: 102}, 
 
       {date:1993, value: 277} ] 
 

 
console.log(dict.filter(obj => obj.date === 1991))


、としてそれを行うことができます単純なforifループで答えてください。

var dict = [{date:1991, value: 78}, {date:1992, value: 102}, {date:1993, value: 277}] 
 

 
function search_obj(dict, year) { 
 
    for (obj of dict) { 
 
    if (obj.date === year) { 
 
     return obj 
 
    } 
 
    } 
 
} 
 

 
console.log(search_obj(dict, 1991))

+0

を使用して、後でアクセスすることができます他の回答と比較して仕事の – WirAre

+0

あなたはES6と '' filter() ''メソッドを使って最初のメソッドを使うことができます。 – bharadhwaj

0

独自の検索機能を作成します。

var arr = [{date:1991, value: 78}, {date:1992, value: 102}, {date:1993, value: 277}]; 

function searchFn(searchDate){ 

    for(var i = 0; i < arr.length; i++) 
     if(arr[i] == searchDate) 
      return arr[i]; 
} 

//search 
searchFn(1991);//{date:1991, value: 78} 
searchFn(1992);//{date:1992, value: 102} 
関連する問題