2017-12-20 11 views
0

でJSONオブジェクトを返す私は、ユーザー情報を持つJSONオブジェクトを持っているが、ユーザーの千のその大きな配列1の例は次のとおりです。で検索すると、JS

[ { 
    "FirstName" : "Joe", 
    "LastName" : "Doe", 
    "Address" : "123 Main Street" 
    } 
] 

私はで検索できるようにしますこのjson配列は姓と名に基づいており、一致するオブジェクトを返します。

+0

次に、その配列を反復処理し、一致する配列を見つけますか?どの問題がありますか? –

+0

[Javascriptでオブジェクトの配列内の値を検索]の可能な複製(https://stackoverflow.com/questions/12462318/find-a-value-in-an-array-of-objects-in-javascript) – James

答えて

1

に見て条件に一致する要素のリストがある

var result = largeJsonArray.filter(function(item){ 
    return item.FirstName === 'Jhon' && item.LastName === 'Doe' 
}); 

アレイ上のフィルタ機能を使用することができますjsonを解析し、Array.prototype.findを使用できます。

const arr = JSON.parse("your json") 

const result = arr.find(elem => elem.FirstName === "Joe") 
2

配列にそこにいる2方法es6-feature

を見てみましょう:

  • 検索:array.find(x => x.firstName = 'Joe' && x.LastName == 'Doe'):正確に1オブジェクトまたはnullを意味し、単一のmatchを返します。
  • フィルタ:array.filter(x => x.firstName = 'Joe' && x.LastName == 'Doe')は、一致する配列を返します。
+0

'x.firstName = 'Joe'のために、誰もがその後Joe Xと呼ばれます。 –

1
+0

var foundItem = userData.filter(user => { return user.FirstName === userParts [0] && user.LastName === userParts [1]; }); 'フィルタは関数ではありません'というエラーが表示される – Pacman

+0

フィルタはjavascript配列にのみ存在し、userDataが配列であるかどうかを確認します – stalin

関連する問題