Хранение ключа/значения объекта в массиве, но не в элементе массива [дубликат]Javascript

Форум по Javascript
Ответить
Anonymous
 Хранение ключа/значения объекта в массиве, но не в элементе массива [дубликат]

Сообщение Anonymous »

Я нашел некоторые странные вещи и ищу объяснения о том, как и почему < /p>

Код: Выделить всё

let a = [] ;
a.push({foo:"bar",bar:"foo"}] ;
console.log(a) ;
< /code>
Как и ожидалось, распечатывает: < /p>
[[object Object] {
bar: "foo",
foo: "bar"
}]
< /code>
Однако я случайно обнаружил, что могу также сделать это: < /p>
a.someKey = "someValue" ;  // this does NOT throw an error
console.log(a) ;
< /code>
Отпечатает, нет ссылки на «cheekey» в печатной плате < /p>
[[object Object] {
bar: "foo",
foo: "bar"
}]

console.log(a.someKey) ;

Отпечатает somevalue
Как я могу назначить ключ/значение объекта в массиве, но вне объема списка массива? И когда я распечатаю , почему он показывает только массив, а не ключ/значение объекта?

Код: Выделить всё

var b = {} ;
b.this = "that" ;
b.that = "this" ;
b[0] = { more:"foo",less:"bar"} ;
console.log(b) ;
< /code>
Отпечатает: < /p>
[object Object] {
0: [object Object] {
less: "bar",
more: "foo"
},
that: "this",
this: "that"
}
Итак, вы можете сохранить ключ объекта/значения вне сферы действия списка массива , и вы можете хранить список массивов внутри объекта , который ссылается как обычный массив.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... ay-element
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»