Эту статью я хочу посвятить тонкостям работы с массивами в JavaScript. Наверное, у каждого JavaScript-разработчика есть функции (как самописные, так и библиотечные).
$ (выбрать элемент по идентификатору) и $$ (выбор элементов по классу CSS).
Если мы выбираем несколько элементов по классу CSS, то мы хотим выполнить с ними определенные действия.
Цикл напрашивается сам собой.
Что делать, если вам нужен образец среди них? Трансформации? Действия над необходимыми элементами? Код не простой.
JavaScript не стоит на месте, Mozilla постоянно совершенствует JavaSript в своем движке Gecko, и было бы обидно не воспользоваться этими нововведениями.
В JavaScript 1.6 добавлены новые полезные методы для упрощения кода, необходимого в описанных выше ситуациях.
Новые методы класса Array
фильтр
фильтр (обратный вызов [, этотОбъект]) Подбор элементов по определенным критериям.Пример
вар myArray = [3, 5, 7, 9, 4, 8, 2, 1, 6]; вар newArray = myArray.filter( функция (элемент){ возвращаться предмет > 5; }); // newArray будет равен массиву [ 7, 9, 8, 6 ]
для каждого
forEach(обратный вызов[, thisObject]) Выполните действия над каждым элементом массива.Пример
вар myArray = [3, 5, 7, 9, 4, 8, 2, 1, 6]; myArray.forEach( функция (элемент) { оповещение (элемент); });
каждый
каждый (обратный вызов [, этотОбъект]) Возврат истинный если все элементы массива удовлетворяют условию, в противном случае возвращается ЛОЖЬ .Пример
вар myArray = [3, 5, 7, 9, 4, 8, 2, 1, 6]; предупреждение( myArray.every( функция (элемент){ возвращаться предмет > 5; } ) ); // ЛОЖЬ предупреждение( myArray.every( функция (элемент){ возвращаться элемент < 10; } ) ); // true
некоторый
некоторые (обратный вызов [, этотОбъект]) Возврат истинный хотя бы один элемент массива удовлетворяет условию, в противном случае возвращается ЛОЖЬ .Пример
вар myArray = [3, 5, 7, 9, 4, 8, 2, 1, 6]; предупреждение( myArray.some( функция (элемент){ возвращаться предмет > 5; } ) ); // истинный предупреждение( myArray.some( функция (элемент){ возвращаться предмет > 10; } ) ); // ЛОЖЬ
карта
карта(обратный вызов[, этотОбъект]) Создает новый массив, содержащий элементы старого массива после обработки указанной функцией.Пример
вар myArray = [3, 5, 7, 9, 4, 8, 2, 1, 6]; вар newArray = myArray.map( функция (элемент){ возвращаться предмет + 10; }); // newArray будет равен массиву [ 13, 15, 17, 19, 14, 18, 12, 11, 16]
Мы объединяем
Эти методы можно использовать в сочетании друг с другом.Пример
вар myArray = [3, 5, 7, 9, 4, 8, 2, 1, 6]; моймассив .Ближе к практикефильтр( функция (элемент){ возвращаться предмет > 5; } ) .
для каждого( функция (элемент) { оповещение (элемент); });
документ.формы[0].элементы .
фильтр( функция (элемент){ возвращаться item.type == 'флажок'; } ) .
для каждого( функция (пункт) { item.checked = true; });
Совместимость
Что ж, прочитали мы эту статью и вдохновились.но блин! Это доступно только в JavaScript начиная с версии 1.6! Без проблем.
Разработчики из Mozilla написали реализацию каждой из этих функций для старых версий JavaScript и разместили ее в описании функций.
Я скомпилировал эти реализации в файл массивы.
js .
Удачи вам в развитии! P.S. Не надо писать, что все это есть в jQuery :) Теги: #JavaScript #Mozilla #JavaScript
-
Как Правильно Подготовиться К Шад
19 Oct, 24 -
Бабушка, Позвони Консьержу
19 Oct, 24 -
Разработка Для Google Appengine
19 Oct, 24 -
Сайт Музея
19 Oct, 24 -
Magento Meetup Харьков - Видеоотчеты
19 Oct, 24 -
Источник.
19 Oct, 24