Полезная информация

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

Разработка » помогите решить проблему с сортировкой в js » 22-06-2007 13:42:28

есть такой вариант, но если массивы увеличить до 2000 в каждом, по времени будет слишком дорогая операция


Anton пишет
Выделить код

Код:

function comp (a, b)
{
    return(a==b)? 0: ((a>b)? 1: -1);
}
var c = [[2, 3, 1], ['pit', 'mike', 'igor']];
c [1]. sort
(
    function (a, b)
    {
        return comp (c [0] [c [1]. indexOf (a)], c [0] [c [1]. indexOf (b)]);
    }
);
c [0]. sort (comp);

Разработка » помогите решить проблему с сортировкой в js » 21-06-2007 19:22:37

я вызываю сортировку массива c[1], т.е. именно его я и хочу отсортировать. но хочу, чтоб сравнивались при этом не элементы его же самого, а элементы c[0].
если все оставить именно так, то в результате получится сортировка имен по алфавиту. а я хочу, чтоб имена отсортировались по соответствующим им порядковым номерам.

shutnik пишет

в данном случае в comp в виде параметров a и b попадут элементы массива c[1]. можно ли сделать так, чтобы в comp попадали элементы массива c[0]?

хм, вы же сами вызываете

Выделить код

Код:

c[1].sort(function(a, b) {return comp(a, b)});

что я не понимаю...

Разработка » помогите решить проблему с сортировкой в js » 21-06-2007 18:07:56

нужна помощь.
нужно отсортировать один массив по другмоу:

Выделить код

Код:

comp = function(a, b) {
	return (a == b) ? 0 : (a > b) ? 1 : -1;
}
var c = [[2,3,1],['pit','mike','igor']];
c[1].sort(function(a, b) {return comp(a, b)});

в данном случае в comp в виде параметров a и b попадут элементы массива c[1]. можно ли сделать так, чтобы в comp попадали элементы массива c[0]? в итоге я хочу получить

Выделить код

Код:

c = [[1,2,3],['igor','pit','mike']];

Разработка » как подвесить к свойству listener? » 19-06-2007 17:39:19

Спасибо, то что нужно. не знаете, если ли возможность закроссбраузить эту возможность?

Anton пишет

var A = {a: 1};
A.watch ("a", function (propName, oldValue, newValue) { print (propName + ": " + oldValue + ": " + newValue); });
A.a = 2;

Разработка » как подвесить к свойству listener? » 19-06-2007 13:04:03

думается мне, в javascript это вообще тупиковая ситуация:
нужно подвесить к свойству listener, который сработает как только изменилось значение этого свойства.

Выделить код

Код:

var A = {a: 1};
A.a = 2;

вот тут как раз и нужно, чтоб отработал listener

может я ошибаюсь, и это как-то можно сделать в javascript?

Разработка » есть ли у кого идеи как реализовать indexOf у массивов? » 18-06-2007 18:55:59

Спасибо! ссылка особо помогла (+ разбор реализации аналогигчных методов в C#)


Lynn пишет

maxmets
В общем случае никакого другого алгоритма, кроме перебора всех элементов, не может быть.

Как уже написано выше, в Firefox (вернее в JS 1.6) этот метод уже реализован.
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:indexOf

Разработка » есть ли у кого идеи как реализовать indexOf у массивов? » 18-06-2007 17:03:41

конечно можно так:

Array.prototype.indexOf = function(item) {
    for (var q = 0, length = this.length; q < length; q++) {
        if (this[q] == item) return q;
    }
    return -1;
}

но в этом случае приходится бегать по всему массиву. а если он очень большой? вот бы сделать так, чтоб бегать не пришлось. может у кого-то есть мысли?

Разработка » как определить позиционирование элемента » 12-06-2007 19:34:09

Существует ли какой-то способ узнать как спозиционирован html-элемент. Т.е. если есть элемент вида

<ELEMENT STYLE="position: absolute;"></ELEMENT>,

у него можно спросить ELEMENT.STYLE.POSITION, а если элемент задан в виде

<ELEMENT CLASS="qwe"></ELEMENT>
<STYLE>
.qwe {position: absolute;}
</STYLE>,

можно ли в этом случае узнать как он спозиционирован?

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]