Как поймать последнее повторение в $ .each в jQuery?

Как авторы инструмента, мы, конечно, используем SmartInspect для входа и трассировки приложений.NET. Мы обычно используем протокол именованного канала для живого входа и (зашифровали) двоичные файлы журнала для журналов конечного пользователя. Мы используем Консоль SmartInspect в качестве средства просмотра и контролирующего инструмента.

существует на самом деле довольно много платформ журналирования и инструментов для.NET там. Существует обзор и сравнение различных инструментов на DotNetLogging.com .

19
задан Philippe Leybaert 9 September 2009 в 12:24
поделиться

3 ответа

Ответ Филиппа Лейбэрта описывает проблемы с вашим вопрос очень хорошо, и, вероятно, есть более четкий способ сделать то, что вы хотите. Но при этом я не вижу способа сделать то, что вы просите, без использования дополнительной переменной.

var obj = { 'a': fn1, 'b': fn2, 'c': fn3 };
var lastKey;

$.each(obj, function(key, fn) {
    // do stuff...
    lastKey = key;
});

obj[lastKey].doStuffForLastIteration();
4
ответ дан 30 November 2019 в 03:48
поделиться

Переменная вашего примера называется "arr", но это вовсе не массив (это объект). Это немного сбивает с толку.

При итерации по объекту не существует такого понятия, как «последнее» свойство, потому что порядок свойств не определен конструкцией.

При итерации по массиву вы можете просто сравнить первый параметр обратного вызова с (array.length-1) для обнаружения последней итерации.

В коде (для массивов):

var arr = [ "a","b","c" ];

$.each(arr, function(i,val) { if (i == arr.length-1) ... });
33
ответ дан 30 November 2019 в 03:48
поделиться

Теперь, когда я увидел ваш дублированный вопрос , где вы утверждаете: «В следующих случаях это 'c': fn3» - похоже, вы могли быть после значения максимальное свойство объекта.

var obj = { 'a': fn1, 'b': fn2, 'c': fn3 };

var maxKey;
for (var key in arr) {
    if (!(maxKey > key)) {
        maxKey = key;
    }
}

// fn will be fn3
var fn = obj[maxKey];
-2
ответ дан 30 November 2019 в 03:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: