Ассоциативный массив
Здрасте, у меня вопрос. Создаю массив чисел:
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, время: 11:39. |