Изучаем MooTools. Шаг 3 - Массивы
- Содержание
В прошлой статье мы узнали, как получить выборку в массиве. Рассмотрим функции, как этот массив обработать.
Основные функции
.each();
Вызывает функцию fn для каждого элемента массива.
myArray.each(fn[, bind]);
Функция fn может иметь следующие параметры:
- item - текущий элемент массива
- index - его индекс
- array - сам массив
list.each( function(item, i) {
alert (item.getProperty('value')); //значение текущего элемента
});
- bind - объект, к которому можно обращаться по указателю this
Вместо list мы можем использовать функции $$(), .getElements(), описанные в предыдущей статье.
$A()
Создает копию массива.
var anArray = [0, 1, 2, 3, 4]; var copiedArray = $A(anArray); //возвращает [0, 1, 2, 3, 4].
.every()
Возвращает true, если каждый элемент массива удовлетворяет условию функции fn.
var areAllBigEnough = [10, 4, 25, 100].every(function(item, index){
return item > 20;
}); //areAllBigEnough = false
.some()
Возвращает true, если хотя бы один элемент массива удовлетворяет условию функции fn.
var isAnyBigEnough = [10, 4, 25, 100].some(function(item, index){
return item > 20;
}); //isAnyBigEnough = true
.filter()
Возвращает массив из элементов исходного, если они удовлетворяют условию функции fn.
var biggerThanTwenty = [10, 3, 25, 100].filter(function(item, index){
return item > 20;
}); //biggerThanTwenty = [25, 100]
.clean()
Возвращает массив из элементов исходного, если они определены.
var myArray = [null, 1, 0, true, false, "foo", undefined, ""]; myArray.clean() // возвращает [1, 0, true, false, "foo", ""]
.contains()
Возвращает true, если элемент содержится в массиве. Разрешается указывать позиции, с которой надо производить поиск.
["a","b","c"].contains("a"); //возвращает true
["a","b","c"].contains("d"); //возвращает false
.indexOf()
Возвращает индекс первого входящего элемента в массив. Если элемент не найден, функция возвращает false.
['apple', 'lemon', 'banana'].indexOf('lemon'); //возвращает 1
['apple', 'lemon'].indexOf('banana'); //возвращает -1
.map()
Создает новый массив, полученный в резальтате вызова функции fn, переданной в качестве параметра.
var timesTwo = [1, 2, 3].map(function(item, index){
return item * 2;
}); //timesTwo = [2, 4, 6];
.associate()
Создает массив, в котором пары ключ-значения основаны на текущем массиве и переданном параметром.
var animals = ['Cow', 'Pig', 'Dog', 'Cat'];
var sounds = ['Moo', 'Oink', 'Woof', 'Miao'];
sounds.associate(animals);
//возвращает {'Cow': 'Moo', 'Pig': 'Oink', 'Dog': 'Woof', 'Cat': 'Miao'}
.extend()
Дополняет исходный массив другим.
var animals = ['Cow', 'Pig', 'Dog']; animals.extend(['Cat', 'Dog']); //animals = ['Cow', 'Pig', 'Dog', 'Cat', 'Dog'];
.combine()
Объединяет два массива. При этом одинаковые элементы не дублируются.
var animals = ['Cow', 'Pig', 'Dog']; animals.combine(['Cat', 'Dog']); //animals = ['Cow', 'Pig', 'Dog', 'Cat'];
.include()
Дополняет массив элементом.
['Cow', 'Pig', 'Dog'].include('Cat'); //возвращает ['Cow', 'Pig', 'Dog', 'Cat']
['Cow', 'Pig', 'Dog'].include('Dog'); //возвращает ['Cow', 'Pig', 'Dog']
.erase()
Удаляет переданный элемент из массива.
['Cow', 'Pig', 'Dog', 'Cat', 'Dog'].erase('Dog'); //возвращает ['Cow', 'Pig', 'Cat']
['Cow', 'Pig', 'Dog'].erase('Cat'); //возвращает ['Cow', 'Pig', 'Dog']
.flatten()
Превращает многомерный массив в одномерный.
var myArray = [1,2,3,[4,5, [6,7]], [[[8]]]]; var newArray = myArray.flatten(); //newArray = [1,2,3,4,5,6,7,8]
.empty()
Очищает массив.
var myArray = ['old', 'data']; myArray.empty(); //myArray теперь равен []
Получение элемента массива
.getLast()
Возвращает последний элемент массива.
['Cow', 'Pig', 'Dog', 'Cat'].getLast(); //возвращает 'Cat'
.getRandom()
Возвращает случайный элемент массива.
['Cow', 'Pig', 'Dog', 'Cat'].getRandom(); //возвращает один из элементов
Работа с цветом RGB.
.hexToRgb()
Переводит шестнадцатиричное значение цвета в формат RGB.
['11','22','33'].hexToRgb(); //возвращает "rgb(17,34,51)" ['11','22','33'].hexToRgb(true); //возвращает [17, 34, 51]
.rgbToHex()
Возвращает шестнадцатиричное значение цвета в формате RGB.
[17,34,51].rgbToHex(); //возвращает "#112233" [17,34,51].rgbToHex(true); //возвращает ['11','22','33'] [17,34,51,0].rgbToHex(); //возвращает "transparent"
Более подробное описание функций в официальной документации.
Понравилась статья? Подпишись на RSS.
Советую почитать:
Mootools. Ключевое слово this
Изучаем MooTools. Шаг 7 - AJAX
Изучаем MooTools. Шаг 4 - События
Изучаем MooTools. Шаг 2 - Селекторы


Популярные статьи
Последние записи
Разделы


Комментарии
Здесь пока никто не писал.