Ассоциативный массив
Здрасте, у меня вопрос. Создаю массив чисел:
var multi=new Array(); multi['0']=[130,40,8]; multi['20']=[125,30,5]; alert(multi.length); // выдает 21 alert(multi);// выдает 130,40,80,125,30,5,,,,,,,,,,,,,,,,кучу запятых Это что значит если индексы в ключах идут не по порядку то память все равно они занимают? и как тогда узнать истинную длину массива?:blink: |
Цитата:
Цитата:
|
Цитата:
|
Господи Иисусе.
вот так function get_TRUTH ( array ){ for( var i = 0, TRUTH = 0; i < array.length ; i++ ){ if( typeof array[ i ] === "undefined" ) continue; TRUTH++; } return TRUTH; } var t = [1,2,3]; t.length = 333; alert ( get_TRUTH( t ) ) |
Спасиб, а как убрать запятые которые в алерте добавляются?
|
убрать элементы , значение которых не установлено или их длина равна нулю О_о
|
а почему тогда если они равны нулю и их нет почему тогда запятые рисуются как будто это пустые элементы?
|
Цитата:
почему равны нулю? если они равны нулю,тогда все ок я про длину сказал var a = [ "",0,false,null,undefined ] alert( "длина массива - "+ a.length + "\nСам массив :\n"+a+"\n Длина последнего : "+a[ 0 ].length ) |
Спасиб, а вот еще глупый вопрос. А как получить сами ключи этого массива?
for(a in multi){ alert(a); // выдает 0,1 alert(multi[a]); // выдает 130,40,80,125,30,5 } А как получить сами индексы т.е 0 и 20 |
хм..когда вместо цифр в ключами делаешь буквы то все работает, а почему с цифрами так происходит?
|
Часовой пояс GMT +3, время: 16:15. |