2015-03-16 3 views
0

Я не могу понять, как получить доступ к объекту spearguns с использованием скобок нотации. Я пытаюсь получить доступ к ключу «heft». В журнале консоли указано «неопределенное». Спасибо, спасибо.Как получить доступ к ключу объектов в виде скобок?

var rockSpearguns = { 
    Sharpshooter: {barbs: 2, weight: 10, heft: "overhand"}, 
    Pokepistol: {barbs: 4, weight: 8, heft: "shoulder"}, 
    Javelinjet: {barbs: 4, weight: 12, heft: "waist"}, 
    Firefork: {barbs: 6, weight: 8, heft: "overhand"}, 
    "The Impaler": {barbs: 1, weight: 30, heft: "chest"} 
}; 

function listGuns(guns) { 
    for (var speargun in guns) { 
    // modify the log message here 
    console.log("Behold! " + speargun + ", with " + this["heft"] + " heft!"); 
    } 
} 

listGuns(rockSpearguns); 
+1

обозначения в порядке, но ' это не то, что вы думаете, это – Erlik

+0

вам нужно больше читать о [это ключевое слово] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this) – Grundy

+0

Спасибо, ребята, ты прав. «Это» не было тем, что я думал. Вместо этого я использовал: console.log («Смотрите!» + Speargun + », с« + пушками [ружье] [«heft»] + «heft!»); –

ответ

0

Вы должны получить ссылку на пистолет от имени свойства, как это:

var rockSpearguns = { 
       Sharpshooter: {barbs: 2, weight: 10, heft: "overhand"}, 
       Pokepistol: {barbs: 4, weight: 8, heft: "shoulder"}, 
       Javelinjet: {barbs: 4, weight: 12, heft: "waist"}, 
       Firefork: {barbs: 6, weight: 8, heft: "overhand"}, 
       "The Impaler": {barbs: 1, weight: 30, heft: "chest"} 
}; 

function listGuns(guns) { 
    for (var speargun in guns) { 
     // modify the log message here 
     var gun = guns[speargun]; 
     console.log("Behold! " + speargun + ", with " + gun["heft"] + " heft!"); 
    } 
} 
0

Вот что я в конечном итоге с помощью:

function listGuns(guns) { 
    for (var speargun in guns) { 
    // modify the log message here 

    console.log("Behold! " + speargun + ", with " + guns[speargun]["heft"] + " heft!"); 
    } 
Смежные вопросы