Ей момчета съм нов за развитие на javasript приложението ... Научих за обекти и масиви и аз имам, че стойностите в масивите могат да бъдат извикани с индекс, но в обекти, които не може да бъде възможно.
Така че аз се опитах кода
name = ["dfsdf","sfdsf"]
var b = [[name,"DFDSF"]];
console.log(b[0].name);
Това ми дава undefined
Вместо да се върне името на масива.
Просто искам да знам как да получа достъп b[index].nestedarrayname
.
Би било много полезно, ако предоставите някои примерни кодове .. Благодаря
Отговори:
0 за отговор № 1доколкото аз съм дълбоко, искате да кал име , който е масив, така че:
name = ["dfsdf","sfdsf"]
var b = [[name,"DFDSF"]];
можете да направите :
1 - console.log(b[0][0]); // this will output an array which contains ["dfsdf","sfdsf"]
ИЛИ
трябва да промените структурата си на това:
name = ["dfsdf","sfdsf"]
var b = [
{"name": name} // the right one name, is your actual name array , so this is b[0]
,
"DSDSF" // this is b[1]
];
сега можете да се обадите:
console.log(b[0].name);
ЗАБЕЛЕЖКА :
в javascript, можете да извикате елемент iside масив по неговия индекс и можете да извикате свойство вътре в обект по два начина:
1 - Използване. (Точка) като: object.property
2 - Използване на [""] като: object ["свойство"]
1 за отговор № 2
Ако искате да бъде "асоциативен" масив, трябва да направите елемента на масива обект:
var b = [{name:"DFDSF"}];
console.log(b[0].name);
0 за отговор № 3
Когато се опитате да получите достъп до собственост чрез .
оператор, JavaScript очаква обекта ( масив в този случай) да има действително собственост с това име. Масивите имат целочислени индекси в JavaScript, така че за да имате достъп до нея, ще искате:
console.log(b[0][0]);
Ако обаче правя искате асоциативен масив, вместо това можете да създадете под-индексите като обекти (помислете за JSON форматиране)
var b = [{"name": name}, "DFDSF"];
console.log(b[0].name); // b[0] is the object {"name": name}
// b[1] is the string "DFDSF"