Что делает, как и когда использовать метод reduce?
Метод
Он применяет функцию callback по очереди к каждому элементу массива слева направо, сохраняя при этом промежуточный результат.
Аргументы функции
previousValue – последний результат вызова функции, он же «промежуточный результат».
currentItem – текущий элемент массива, элементы перебираются по очереди слева-направо.
index – номер текущего элемента.
arr – обрабатываемый массив.
Кроме callback, методу можно передать «начальное значение» – аргумент initialValue. Если он есть, то на первом вызове значение previousValue будет равно initialValue, а если у reduce нет второго аргумента, то оно равно первому элементу массива, а перебор начинается со второго.
// промежуточный результат передавать первым аргументом далее
current - текущее значение
0 - initialvalue
Метод
arr.reduce(callback[, initialValue]) используется для последовательной обработки каждого элемента массива с сохранением промежуточного результата.Он применяет функцию callback по очереди к каждому элементу массива слева направо, сохраняя при этом промежуточный результат.
Аргументы функции
callback(previousValue, currentItem, index, arr):previousValue – последний результат вызова функции, он же «промежуточный результат».
currentItem – текущий элемент массива, элементы перебираются по очереди слева-направо.
index – номер текущего элемента.
arr – обрабатываемый массив.
Кроме callback, методу можно передать «начальное значение» – аргумент initialValue. Если он есть, то на первом вызове значение previousValue будет равно initialValue, а если у reduce нет второго аргумента, то оно равно первому элементу массива, а перебор начинается со второго.
var arr = [1, 2, 3, 4, 5]// для каждого элемента массива запустить функцию,
// промежуточный результат передавать первым аргументом далее
var result = arr.reduce(function(sum, current) {
return sum + current;
}, 0);
alert( result ); // 15
sum - предыдущий результатcurrent - текущее значение
0 - initialvalue
Что такое автоматизированное тестирование, и в чём отличие от ручного тестирования?
Автоматизация тестирования приложений основана на написании кода. Методика автоматизированного тестирования позволяет создать ожидаемый сценарий, а затем сравнить его с реальным и указать расхождения.
Автоматизация наиболее применима в сложных приложениях с большой функциональной частью. Особой популярностью пользуется автоматизация тестирования труднодоступных мест приложения, валидационных форм, базовых операций, часто используемой функциональности.
Ручное тестирование – это прямое взаимодействие QA-инженера и приложения. В его процессе можно получить обратную связь о продукте, что невозможно, если использовать автоматизированное тестирование.
Проведение автоматизации тестирования позволяет получить более точный результат. Ручные проверки – это более универсальный вариант, который рассчитан практически на любое приложение.
Автоматизация тестирования приложений основана на написании кода. Методика автоматизированного тестирования позволяет создать ожидаемый сценарий, а затем сравнить его с реальным и указать расхождения.
Автоматизация наиболее применима в сложных приложениях с большой функциональной частью. Особой популярностью пользуется автоматизация тестирования труднодоступных мест приложения, валидационных форм, базовых операций, часто используемой функциональности.
Ручное тестирование – это прямое взаимодействие QA-инженера и приложения. В его процессе можно получить обратную связь о продукте, что невозможно, если использовать автоматизированное тестирование.
Проведение автоматизации тестирования позволяет получить более точный результат. Ручные проверки – это более универсальный вариант, который рассчитан практически на любое приложение.
Что такое TDD и в чем его преимущество?
TDD или Test Driven Development - это разработка через тесты: сначала пишутся интеграционные тесты, в которых детально описан будущий функционал. А новые функции разрабатываются на основе этих тестов.
Преимущества:
1. TDD Ускоряет разработку. Пока разработчики привыкают к написанию тестов, работа будет идти медленнее. Когда привыкнут, разработка ускоряется;
2. Высокое покрытие функционала тестами. На каждый функционал пишется множество тестов, чтобы охватить все возможные варианты его использования;
3. Меньше времени на отладку. Обычно отладка начинается, когда основной функционал уже сделан. Здесь мы отлаживаем заранее концепцию функционала, пока пишем тесты.
TDD или Test Driven Development - это разработка через тесты: сначала пишутся интеграционные тесты, в которых детально описан будущий функционал. А новые функции разрабатываются на основе этих тестов.
Преимущества:
1. TDD Ускоряет разработку. Пока разработчики привыкают к написанию тестов, работа будет идти медленнее. Когда привыкнут, разработка ускоряется;
2. Высокое покрытие функционала тестами. На каждый функционал пишется множество тестов, чтобы охватить все возможные варианты его использования;
3. Меньше времени на отладку. Обычно отладка начинается, когда основной функционал уже сделан. Здесь мы отлаживаем заранее концепцию функционала, пока пишем тесты.
Что делает, как и когда использовать метод find?
Он используется для того, чтобы найти элемент массива, подходящий к заданному условию.
Его синтаксис таков:
item – очередной элемент.
index – его индекс.
array – сам массив.
Например, у нас есть массив пользователей, каждый из которых имеет поля id и name. Попробуем найти того, кто с id == 1:
Он используется для того, чтобы найти элемент массива, подходящий к заданному условию.
Его синтаксис таков:
let result = arr.find(function(item, index, array) {
// если true - возвращается текущий элемент и перебор прерывается
// если все итерации оказались ложными, возвращается undefined
});
Функция вызывается по очереди для каждого элемента массива:item – очередной элемент.
index – его индекс.
array – сам массив.
Например, у нас есть массив пользователей, каждый из которых имеет поля id и name. Попробуем найти того, кто с id == 1:
let users = [
{id: 1, name: "Вася"},
{id: 2, name: "Петя"},
{id: 3, name: "Маша"}
];
let user = users.find(item => item.id == 1);
alert(user.name); // Вася
Что делает, как и когда использовать метод map?
Метод arr.map является одним из наиболее полезных и часто используемых.
Результатом метода map всегда является новый массив с результатами выполнения функции callback на исходном массиве.
Метод arr.map является одним из наиболее полезных и часто используемых.
Результатом метода map всегда является новый массив с результатами выполнения функции callback на исходном массиве.
let result = arr.map(function(item, index, array) {
// возвращается новое значение вместо элемента
});
let lengths = ["Bilbo", "Gandalf", "Nazgul"].map(item => item.length);
alert(lengths); // 5,7,6👍1
Дэвид Макфарланд "Большая книга CSS3"
C помощью технологии CSS3 (каскадные таблицы стилей) можно создавать уникальные, современные оформления веб-сайтов. Но даже самый опытный веб-разработчик может не знать всех приемов применения CSS3. Прочитав в этой книге множество практических примеров, а также советов, вы перейдете на новый уровень создания сайтов с помощью HTML и CSS. Вы узнаете, как разрабатывать веб-страницы, которые одинаково быстро работают и одинаково выглядят, как на ПК, так и на смартфонах и планшетах.
В книге рассмотрены следующие темы:
- написание HTML5-, CSS3-тегов, которые распознаются во всех браузерах;
- форматирование текста, добавление на страницы навигации;
- создание таблиц и форм;
- приемы веб-дизайна для создания уникального оформления сайтов;
- создание сайтов для любых устройств с помощью адаптивного дизайна.
C помощью технологии CSS3 (каскадные таблицы стилей) можно создавать уникальные, современные оформления веб-сайтов. Но даже самый опытный веб-разработчик может не знать всех приемов применения CSS3. Прочитав в этой книге множество практических примеров, а также советов, вы перейдете на новый уровень создания сайтов с помощью HTML и CSS. Вы узнаете, как разрабатывать веб-страницы, которые одинаково быстро работают и одинаково выглядят, как на ПК, так и на смартфонах и планшетах.
В книге рассмотрены следующие темы:
- написание HTML5-, CSS3-тегов, которые распознаются во всех браузерах;
- форматирование текста, добавление на страницы навигации;
- создание таблиц и форм;
- приемы веб-дизайна для создания уникального оформления сайтов;
- создание сайтов для любых устройств с помощью адаптивного дизайна.