Изучаем 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 массивы

Следующая запись Изучаем MooTools. Шаг 4 - События Изучаем MooTools. Шаг 2 - Селекторы Предыдущая запись

Комментарии

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