Во-первых, важно отметить, что это не массив, это определение объекта.
Массив может быть определен как:
[
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAgAElEQ…ACCCCAAAIIIICAvwIEIP760zoCCCCAAAIIIIAAAoES+P992sgQ2E6rdwAAAABJRU5ErkJggg==",
"splash.png",
1024,
768,
1969,
1477,
800,
600,
-585,
-406
]
Что это не ключи, как "data":
(которые также могут быть выражены в виде data:
) Кажется, вы определенно хотите, чтобы получить доступ к значениям по ключу, так, что вы действительно хотите:
var data, name, myObject;
// NOTE: We do not "quote" object keys under normal circumstances.
myObject = {
data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAgAElEQ…ACCCCAAAIIIICAvwIEIP760zoCCCCAAAIIIIAAAoES+P992sgQ2E6rdwAAAABJRU5ErkJggg==",
name:"splash.png",
imageOriginalWidth:1024,
imageOriginalHeight:768,
imageWidth:1969,
imageHeight:1477,
width:800,
height:600,
left:-585,
top:-406
}
data = myObject["data"]; // We don't usuaully use this
name = myObject["name"]; // style, although it works.
//
// It's generally reserved for
// dynamic access.
//
// i.e. we make a string to match the keyname.
Однако, чтобы быть правильно, вы должны использовать точечный синтаксис для доступа к ключу объекта.
data = myObject.data;
name = myObject.name;
Я надеюсь, что это немного облегчило для вас.
На боковой ноте НЕ используйте имена, такие как $array
. Во-первых, не используйте префикс $
для обычных переменных, это не PHP или BASIC.
Во-вторых, когда у вас есть объект, вы хотите, чтобы его называли чем-то полезным/значимым/запоминающимся. (Именование вещей сложно!)
Когда вы назовете вещи должным образом, другие люди могут читать и понимать ваш код, а после тяжелого уик-энда в городе вы тоже можете.
Не массивы javaScript, созданные с помощью 'var foo = [" bar ", 9, false]'? – leDominatre
Это не массив, это литерал объекта. – ocodo
Uh huh, кроме объекта literal имеет 'var foo = {...}' – leDominatre