2017-10-02 10 views
-3

このデモを見て、オブジェクトから値を抽出できない理由を教えてください。JSオブジェクトから値を取得できない

console.log(obj.onDays[7].name); 

や年齢:ジャック用

console.log(obj.onDays[8].manyNames[1]); 

var obj = { 
 
    webSiteName: 'StackOverFlow', 
 
    find: 'anything', 
 
    onDays: ['sun', 'mon', 
 
    'tue', 
 
    'wed', 
 
    'thu', 
 
    'fri', 
 
    'sat', 
 
    { 
 
     name: "jack", 
 
     age: 34 
 
    }, 
 
    { 
 
     manyNames: ["Narayan", "Payal", "Suraj"] 
 
    }, 
 
    ] 
 
}; 
 

 

 
console.log(obj.onDays[2]); 
 
console.log(obj.onDays.manyNames[1]);

+0

最初のものが正常に動作し、第二は 'obj.onDaysであるべきである[8] .manyNamesを[1]' – 4castle

+1

[アクセス/プロセス(ネストされた)オブジェクト、アレイまたはJSON]の可能な重複(HTTPS:/ /stackoverflow.com/questions/11922383/access-process-nested-objects-arrays-or-json) – 4castle

答えて

1

manyNamesオブジェクトは、そのため、あなたがこれを必要とする、配列の8番目の指標であります:

onsole.log(obj.onDays[7].age); 
+0

ありがとうDream_Capあなたはまた、私も 'jack'の名前を取得することができます教えていただけますか?私は 'name'や' age'を使ってどのように問い合わせることができるのでしょうか? – Behseini

+0

私は答えを更新しました –

0

アレイとオブジェクトの基本的な違いを理解する必要があります。

あなたが配列を扱うときはいつでも、インデックスでアクセスしてください。

arr[index]; // obj["onDays"][7]["name"]; 

オブジェクトを処理するときはいつでも、プロパティによってアクセスします。

obj[property] or obj.property // obj["find"];