Дэвид Флэнаган - JavaScript. Подробное руководство, 6-е издание

Здесь есть возможность читать онлайн «Дэвид Флэнаган - JavaScript. Подробное руководство, 6-е издание» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: СПб, Год выпуска: 2012, ISBN: 2012, Издательство: Символ-Плюс, Жанр: Базы данных, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

JavaScript. Подробное руководство, 6-е издание: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «JavaScript. Подробное руководство, 6-е издание»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

C момента выхода первого издания в 1996 году книга "JavaScript: Подробное руководство" превратилась в библию программистов на JavaScript. За эти годы было издано более 500000 экземпляров, и веб-разработчики по-прежнему с восторгом отзываются о ней.
Эта книга - одновременно и руководство программиста, и полноценный справочник по базовому языку JavaScript и клиентским прикладным интерфейсам, предоставляемым веб-броузерами.

JavaScript. Подробное руководство, 6-е издание — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «JavaScript. Подробное руководство, 6-е издание», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

а = [5, 4, 3, 2, 1];

smallvalues = a.filter(function(x) { return х < 3 }); // [2, 1]

everyother = a.filter(function(x,і) { return і%2==0 }); // [5, 3, 1]

Обратите внимание, что метод filter() пропускает отсутствующие элементы в разреженных массивах и всегда возвращает плотные массивы. Чтобы уплотнить разреженный массив, можно выполнить следующие действия:

var dense = sparse.filter(function() { return true; });

А чтобы уплотнить массив и удалить из него все элементы со значениями undefined и null, можно использовать метод filter() , как показано ниже:

а = a.filter(function(x) { return х !== undefined && х != null; });

7.9.4. Методы every() и some()

Методы every() и some() являются предикатами массива: они применяют указанную функцию-предикат к элементам массива и возвращают true или false . Метод every() напоминает математический квантор всеобщности V: он возвращает true , только если переданная вами функция-предикат вернула true для всех элементов массива:

а = [1,2,3,4,5];

a.every(function(x) { return х < 10; }) // => true: все значения < 10.

a.every(function(x) { return х % 2 === 0; }) // => false: не все четные.

Метод some() напоминает математический квантор существования 3: он возвращает true , если в массиве имеется хотя бы один элемент, для которого функция-предикат вернет true , а значение false возвращается методом, только если функция-предикат вернет false для всех элементов массива:

а = [1,2,3,4, 5];

a.some(function(x) { return х%2===0; }) // => true: имеются четные числа,

a.some(isNaN) // => false: нет нечисловых элементов.

Обратите внимание, что оба метода, every() и some() , прекращают обход элементов массива, как только результат становится известен. Метод some() возвращает true , как только функция-предикат вернет true , и выполняет обход всех элементов массива, только если функция-предикат всегда возвращает false . Метод every() является полной противоположностью: он возвращает false , как только функция-предикат вернет false , и выполняет обход всех элементов массива, только если функция-предикат всегда возвращает true . Кроме того, отметьте, что в соответствии с правилами математики для пустого массива метод everу() возвращает true, а метод some() возвращает false .

7.9.5. Методы reduce() и reduceRight()

Методы reduce() и reduceRight() объединяют элементы массива, используя указанную вами функцию, и возвращают единственное значение. Это типичная операция в функциональном программировании, где она известна также под названием «свертка». Примеры ниже помогут понять суть этой операции:

var а = [1,2,3,4,5]

var sum = a.reduce(function(x,у) { return х+у }, 0); // Сумма значений

var product = a.reduce(function(x,у) { return х*у }, 1); // Произвел, значений

var max = a.reduce(function(x,у) { return (х>у)?х:у; }); // Наибольш. значение

Метод reduce() принимает два аргумента. В первом передается функция, которая выполняет операцию свертки. Задача этой функции - объединить некоторым способом или свернуть два значения в одно и вернуть свернутое значение. В примерах выше функции выполняют объединение двух значений, складывая их, умножая и выбирая наибольшее. Во втором (необязательном) аргументе передается начальное значение для функции.

Функции, передаваемые методу reduce() , отличаются от функций, передаваемых методам forEach() и map(). Знакомые уже значение, индекс и массив передаются им во втором, третьем и четвертом аргументах. А в первом аргументе передается накопленный результат свертки. При первом вызове в первом аргументе функции передается начальное значение, переданное методу reduce() во втором аргументе. Во всех последующих вызовах передается значение, полученное в результате предыдущего вызова функции. В первом примере, из приведенных выше, функция свертки сначала будет вызвана с аргументами 0 и 1. Она сложит эти числа и вернет 1. Затем она будет вызвана с аргументами 1 и 2 и вернет 3. Затем она вычислит 3+3=6, затем 6+4=10 и, наконец, 10+5=15. Это последнее значение 15 будет возвращено методом reduce().

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «JavaScript. Подробное руководство, 6-е издание»

Представляем Вашему вниманию похожие книги на «JavaScript. Подробное руководство, 6-е издание» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «JavaScript. Подробное руководство, 6-е издание»

Обсуждение, отзывы о книге «JavaScript. Подробное руководство, 6-е издание» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x