Показать сообщение отдельно
Старый 11.11.2005, 12:36
andr64 вне форума Посмотреть профиль Отправить личное сообщение для andr64 Посетить домашнюю страницу andr64 Найти все сообщения от andr64
  № 22  
Ответить с цитированием
andr64
 
Аватар для andr64

Регистрация: Sep 2005
Сообщений: 65
Отправить сообщение для andr64 с помощью ICQ
тебе можно сделать что то типа
...может тормозить
Код:
arr = new Array();
arr[[0, 1]] = 1;
arr[[0, 2]] = 2;
arr[[1, 1]] = 3;
arr[[1, 2]] = 4;
arr[[2, 1]] = 5;
arr[[2, 2]] = 6;
//
Array.prototype.len = function() {
	var l = 0;
	var a = [];
	for (var g in this) {
		//trace('key['+g+'] type['+typeof (g)+'] val['+this[g]+'] type['+typeof (this[g])+']');
		if (typeof (this[g]) != 'function') {
			if (typeof (g) == 'string') {
				var c = g.split(',', 2)[0];
			} else {
				var c = g;
			}
			if (a[c] == undefined) {
				l++;
				a[c] = true;
			}
		}
	}
	return l;
};
//
trace(arr.len());
особенности массивов =)
Код:
a = [1, 2, 3];
trace('len='+a.length+' a=['+a+']');
//
a[6] = 6;
trace('len='+a.length+' a=['+a+']');
//
delete a[6];
trace('len='+a.length+' a=['+a+']');
а вообще такая запись a[[0,1]]=1; приводит к тому что ключ [0,1] конвертируется в строку.
Код:
aa = [];
aa[[0, 1]] = 1;
for (var g in aa) {
	trace(g+' '+typeof (g));
}