cript, в js нет понятия "многоуровневый массив". Есть массив( [] ). Есть объект( {} ). Ведут они себя (если утрировать) одинаково, только в первом ключи - цифры, во втором произвольные строки.
Если в хотите имитировать "многоуровневый массив" вы должны один массив\объект положить в другой.. a = { key1: [ "index" ], key2: [ "index2" ] } |
Цитата:
Удалить первое значение delete a['key1'][0]; Проверить на наличие значений в ключе key1 if(a['key1'] != undefined)? |
cript,
проверить if('key1' in a && a['key1'].length) удалить добавить смотрите работу с массивом |
cript, нет по всем пунктам кроме последнего(но и он - плох).
По ключу key1 в объект a находится массив. Делая так: a['key1'] = 'new' вы заменяте массив на строку 'new', а ничего никуда не добавляете. "Равно" - это "равно", а не "добавить". Если вы хотите добавить значение в массив по ключу key1 и с индексом 0 - так и следует писать a['key1'][0] = 'new', а лучше востпользоваться специальным методом массива, a['key1'].push('new'). Для удаления из массива также нельзя(не хорошо) использовать delete, т.к. индексы при удалении через delete не пересчитываются. Забрать первое значение: a['key1'].shift(), последнее: a['key1'].pop() . А вообще сдаётся мне что вы нифигашеньки не читали никаких статей или учебников. http://learn.javascript.ru/array http://learn.javascript.ru/object http://learn.javascript.ru/array-methods |
Благодарю за ответы, разобрался
|
Нет никаких массивов в скриптах, это голимые коллекции. Даже если оно посчитает length == 100500 после arr[100500]=1, это - рендер, а там - в кишках - 1 элемент. js только изображает настоящий массив чем и сбивает своих мемберов с толку.
Один раз напоролся на это дело как те одноглазые на сук. Казалось бы у меня есть "двумерный массив", ну значит положить его в лист екзеля должно быть делом одного метода. Так х нанэ. Одним методом можно положить двумерный массив, а не коллекцию коллекций. Коллекцию надо итерировать, дрочить то есть. С другой стороны применения таким православным массива в народе нет. Народ нормально понимает только коллекции. |
Часовой пояс GMT +3, время: 14:54. |