2017-05-01 13 views
-1

以下は私のサンプルJSONオブジェクトです。私は'title'値を に基づいて経度値に基づいて取得したいと考えています。私はタイトルを取得するために複数の(20-30)経度を持っているので、私はそれらの何倍をループにしたくない:別のフィールドデータに基づいて配列からフィールド値を取得

{ 
    items:[ 
     { 
      longitude:-72.897668, 
      latitude:40.453576, 
      title:52 street 
     }, 
     { 
      longitude:-71.897668, 
      latitude:41.453576, 
      title:5th Ave 
     } 
    ] 
} 

は、誰がどのようにループのために使用せずに値を得るために私を提案することができます。

+0

アレイ内で何かを見つけたい場合は、「Array#find」の使用を検討しましたか? –

答えて

0

linke array.filter()を試しましたか?

function filterByLongitude(element) { 
    var expected = -72.897668 
    return element.longitude === expected; 
} 

var items = [{ 
    longitude:-72.897668, 
    latitude:40.453576, 
    title:'52 street' 
    }, { 
    longitude:-71.897668, 
    latitude:41.453576, 
    title: '5th Ave' 
    }]; 

var match = items.filter(filterByLongitude); 
console.log(match[0].title); // 52 street 
+0

こんにちは、お返事ありがとうございます。私はあなたのコードをローカルでうまく動作しようとしました。しかし、Oracle MCS(サービスを開発するためにノードjを内部で使用)に移動したとき、oracleMobile.restコールバックのカスタム・コード問題:TypeError:未定義のメソッド 'filter'をコールできません。そして、私はフィルターを使いましたが運はありませんでした。 –

+0

a) 'items'が定義されていること、b)変数' items'が 'array'型であることを確認してください(そうでなければプロトタイプにフィルタメソッドがありません)。 –

+0

@BhargaviChodisetty、あなたはそれを解決しましたか? –

関連する問題