2016-10-26 11 views
1

いくつかのデータを処理するためにJavascriptオブジェクトを使用しようとしています。私は、私は、このようなからのIDまたはEMAILADDRESSなど個々の値を取得するいくつかの問題を抱えている問題のないaccounts.itemsを取得することができますがJavascriptオブジェクトの多次元配列から値を抽出するのに問題がある

{ 
    startIndex: 0, 
    pageSize: 20, 
    pageCount: 1, 
    totalCount: 1, 
    items: [ 
    { 
     id: 123456, 
     emailAddress: '[email protected]', 
     userName: '[email protected]', 
     firstName: 'John', 
     lastName: 'Hancock', 
     customerSet: 'default', 
     commerceSummary: [ 
     Object 
     ], 
     contacts: [ 
     Object 
     ], 
     userId: '92834439c29389fj292', 
     notes: [ 

     ], 
     attributes: [ 
     Object 
     ], 
     segments: [ 
     Object 
     ], 
     taxExempt: false, 
     externalId: '2100010368', 
     isAnonymous: false, 
     auditInfo: [ 
     Object 
     ], 
     isLocked: false, 
     isActive: true, 
     hasExternalPassword: false, 
     customerSinceDate: 2016-06-23T18: 26: 46.000Z 
    } 
    ] 
} 

:ここアカウントとして定義されている(JSONから解析された)オブジェクト自体がありますアイテム自体。 accounts.items [id]やaccounts.items [emailAddress]を実行しても機能しませんが、項目が1以上になる可能性があるので、そのリストの項目に「最初の結果」を指定する必要があると考えています。その場合、最初のアイテムの電子メールアドレスまたはIDを取得するには、配列を使用しますか?上記のJSONオブジェクトからの希望の結果は、idの場合は "123456"、電子メールの場合は "[email protected]"になります。前もって感謝します。

答えて

1

あなたitemsが配列です。インデックスからデータを取得する必要があります(items[0]など)。プロパティを持つアイテムを探している場合は、Array.findメソッドを使用してください。それはコールバックが真 値を返すものを見つけるまで

検索方法は、アレイ内の各要素 本ために一度コールバック関数を実行します。そのような要素が見つかると、findはすぐにその要素の値 を返します。そうでなければ、findはundefinedを返します。値が割り当てられている配列のインデックスに対してのみコールバックが です。削除されたか、決して の値が割り当てられていないインデックスに対しては、 は呼び出されません。

var accounts = { 
 
    startIndex: 0, 
 
    pageSize: 20, 
 
    pageCount: 1, 
 
    totalCount: 1, 
 
    items: [ 
 
    { 
 
     id: 123456, 
 
     emailAddress: '[email protected]', 
 
     userName: '[email protected]', 
 
     firstName: 'John', 
 
     lastName: 'Hancock', 
 
     customerSet: 'default' 
 
    } 
 
    ] 
 
}; 
 

 
var sampleAccount = accounts.items.find(function (item) { 
 
    return item.id == 123456; 
 
}); 
 

 
if (sampleAccount) { 
 
    console.log(sampleAccount.emailAddress); 
 
}

1

あなたが正しいです、まず、配列の最初の要素を参照する必要があります。次に、そのプロパティを照会できます。

例えば、最初のアイテムのIDとメールアドレスを取得するために、あなたは、要素がJavaScriptでのインデックス0から開始し、その配列の最初の要素はインデックス0に、第二を持って

accounts.items[0].id 
accounts.items[0].emailAddress 

配列を記述します1などとなります。

1

アイテムは配列であり、EMAILADDRESSは、あなたが使用して値を取得することができ、キーです:

accounts.items[0].emailAddress 
関連する問題