Как создать условие в моем загрузчике, чтобы обрабатывались только определенные файлы

Создав ответ гиперслога, вы можете ускорить его, используя стек вместо функции рекурсии. Как показано в этом jsPerf , рекурсия функции на 42% медленнее на моем Chrome 36 на Windows и 71% с IE11 в режиме совместимости с IE8. Кажется, он работает примерно на 20% медленнее в IE11 в режиме edge, но быстрее во всех других проверенных случаях.

function getComments(context) {
    var foundComments = [];
    var elementPath = [context];
    while (elementPath.length > 0) {
        var el = elementPath.pop();
        for (var i = 0; i < el.childNodes.length; i++) {
            var node = el.childNodes[i];
            if (node.nodeType === Node.COMMENT_NODE) {
                foundComments.push(node);
            } else {
                elementPath.push(node);
            }
        }
    }

    return foundComments;
}

Или как сделано в TypeScript:

public static getComments(context: any): Comment[] {
    var foundComments = [];
    var elementPath = [context];
    while (elementPath.length > 0) {
        var el = elementPath.pop();
        for (var i = 0; i < el.childNodes.length; i++) {
            var node = el.childNodes[i];
            if (node.nodeType === Node.COMMENT_NODE) {
                foundComments.push(node);
            } else {
                elementPath.push(node);
            }
        }
    }

    return foundComments;
}

1
задан sawa 18 January 2019 в 09:37
поделиться

1 ответ

Если вы хотите проверить, определен ли метод crop_x для model, тогда стандартным способом является использование respond_to?. Поэтому замените ваше состояние следующим:

if model.respond_to? :crop_x
0
ответ дан sawa 18 January 2019 в 09:37
поделиться
Другие вопросы по тегам:

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