Создание цепочек обработки списков NodeList

Методы для работы с массивами, включенные в Dojo, чрезвычайно удобны, когда нет необходимости выполнять последовательность операций, передавая получаемые результаты от одной операции к другой, или когда вы должны использовать только массивы. В противном случае вы можете предпочесть использовать NodeList – структуру данных, обладающую очень элегантным синтаксисом. Следующий пример демонстрирует объединение в последовательность нескольких операций:
var nl = new dojo.NodeList(node1,node2,node3,node4,...);
nl.map(
/* Отобразить некоторые элементы... */
function(x) {
/* ... */
}
)
.filter(
/* Теперь отфильтровать их... */
function f(x) {
/* ... */
}
)
.forEach(
function(x) {
/* И выполнить некоторое действие над каждым из них... */
}
);

Взгляните, как неуклюже выглядит реализация тех же действий при использовании стандартных функций Dojo изза необходимости вводить переменные для хранения промежуточных результатов:
var a0 = new Array(node1,node2,node3,node4,...);
/* Отобразить некоторые элементы... */
var a1 = dojo.map(a0,
function(x) {
/* ... */
}
);
/* Теперь отфильтровать их... */
var a2 = dojo.filter(a1
function f(x) {
/* ... */
}
);
/* И выполнить некоторое действие над каждым из них... */
dojo.forEach(a2
function f(x) {
/* ... */
}
);

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Dojo на эту тему:
NodeList
Анимация
Аргументы в стиле «функции в виде строк»
Длинный и нестабильный способ
Методы, напоминающие методы массивов

Вернуться в раздел: Dojo / Манипулирование узлами