Хай! Сегодня мы ищем разницу в возрасте)
Используя набор данных из примера, подсчитайте среднюю разницу в возрасте между матерями и их детьми (это возраст матери во время появления ребёнка). Можно использовать функцию average, приведённую в главе.
Обратите внимание – не все матери, упомянутые в наборе, присутствуют в нём. Здесь может пригодиться объект byName, который упрощает процедуру поиска объекта человека по имени.
function average(array) {
function plus(a, b) { return a + b; }
return array.reduce(plus) / array.length;
}
var byName = {};
ancestry.forEach(function(person) {
byName[person.name] = person;
});
// Ваш код
// → 31.2
Используя набор данных из примера, подсчитайте среднюю разницу в возрасте между матерями и их детьми (это возраст матери во время появления ребёнка). Можно использовать функцию average, приведённую в главе.
Обратите внимание – не все матери, упомянутые в наборе, присутствуют в нём. Здесь может пригодиться объект byName, который упрощает процедуру поиска объекта человека по имени.
function average(array) {
function plus(a, b) { return a + b; }
return array.reduce(plus) / array.length;
}
var byName = {};
ancestry.forEach(function(person) {
byName[person.name] = person;
});
// Ваш код
// → 31.2
Что выведет консоль
const first = new Promise((resolve, reject) => {
setTimeout(resolve, 500, "один"); }); const second = new Promise((resolve, reject) => { setTimeout(resolve, 100, "два"); }); Promise.race([first, second]).then(res => console.log(res));
const first = new Promise((resolve, reject) => {
setTimeout(resolve, 500, "один"); }); const second = new Promise((resolve, reject) => { setTimeout(resolve, 100, "два"); }); Promise.race([first, second]).then(res => console.log(res));
Anonymous Quiz
48%
Два
30%
Один
9%
500
4%
100
9%
resolve
Немного вопросов, которые могут появиться на собесе
1. В чем разница между декларацией функции (function declaration) и функциональным выражением (function expression)?
2. Что такое анонимная функция?
3. Расскажите о стрелочных функциях (arrow function). Чем стрелочные функции отличаются от обычных?
4. Что такое и для чего используют IIFE (Immediately Invoked Function Expression)?
5. Что такое hoisting, как он работает для переменных и функций?
6. Что такое замыкание (closure) и каковы сценарии его использования?
1. В чем разница между декларацией функции (function declaration) и функциональным выражением (function expression)?
2. Что такое анонимная функция?
3. Расскажите о стрелочных функциях (arrow function). Чем стрелочные функции отличаются от обычных?
4. Что такое и для чего используют IIFE (Immediately Invoked Function Expression)?
5. Что такое hoisting, как он работает для переменных и функций?
6. Что такое замыкание (closure) и каковы сценарии его использования?
Пора делать задачу)
Напишите функцию JavaScript, чтобы получить разницу во времени в минутах между двумя датами.
Тестовые данные :
dt1 = новая дата («13 октября 2014 г., 11:11:00»);
dt2 = новая дата («13 октября 2014 г., 11:13:00»);
console.log (diff_minutes (dt1, dt2));
2
P.s Как вы думаете, где это используется?
Напишите функцию JavaScript, чтобы получить разницу во времени в минутах между двумя датами.
Тестовые данные :
dt1 = новая дата («13 октября 2014 г., 11:11:00»);
dt2 = новая дата («13 октября 2014 г., 11:13:00»);
console.log (diff_minutes (dt1, dt2));
2
P.s Как вы думаете, где это используется?
Привет! Пора решать задачу!
Напишите функцию JavaScript для объединения данной строки n раз (по умолчанию 1).
Тестовые данные :
console.log (повтор ( 'Ха!'));
console.log (повтор ( 'Ха!', 2));
console.log (повтор ( 'Ха!', 3));
«Ха!»
«Ха! Ха!»
«Ха! Ха! Ха!»
Решение:
repeat = function repeat(str, count) {
if(typeof(count) =="undefined") {
count =1;
}
return count < 1 ? '' : new Array(count + 1).join(str);
}
console.log(repeat('Ha!'));
console.log(repeat('Ha!',2));
console.log(repeat('Ha!',3));
Ответ:
Ха!
Ха! Ха!
Ха! Ха! Ха!
Напишите функцию JavaScript для объединения данной строки n раз (по умолчанию 1).
Тестовые данные :
console.log (повтор ( 'Ха!'));
console.log (повтор ( 'Ха!', 2));
console.log (повтор ( 'Ха!', 3));
«Ха!»
«Ха! Ха!»
«Ха! Ха! Ха!»
Решение:
if(typeof(count) =="undefined") {
count =1;
}
return count < 1 ? '' : new Array(count + 1).join(str);
}
console.log(repeat('Ha!'));
console.log(repeat('Ha!',2));
console.log(repeat('Ha!',3));
Ха! Ха!
Ха! Ха! Ха!
Совет дня:
Редактирование полей комментариев с помощью id плохая затея)
Редактирование полей комментариев с помощью id плохая затея)
Хай, сегодня пятница, а это значит, что уже скоро выходные)
Напиши функцию map(fn, array), которая принимает на вход функцию и массив, и обрабатывает каждый элемент массива этой функцией, возвращая новый массив. Пример:
function square(x) { return x * x; } // возведение в квадрат
console.log(map(square, [1, 2, 3, 4])); // [1, 4, 9, 16]
console.log(map(square, [])); // []
Обрати внимание: функция не должна изменять переданный ей массив:
var arr = [1, 2, 3];
console.log(map(square, arr)); // [1, 4, 9]
console.log(arr); // [1, 2, 3]
Это аналог array_map из PHP.
Напиши функцию map(fn, array), которая принимает на вход функцию и массив, и обрабатывает каждый элемент массива этой функцией, возвращая новый массив. Пример:
function square(x) { return x * x; } // возведение в квадрат
console.log(map(square, [1, 2, 3, 4])); // [1, 4, 9, 16]
console.log(map(square, [])); // []
Обрати внимание: функция не должна изменять переданный ей массив:
var arr = [1, 2, 3];
console.log(map(square, arr)); // [1, 4, 9]
console.log(arr); // [1, 2, 3]
Это аналог array_map из PHP.
Хай! Пора решить ещё одну задачку)
Сегодня у нас будет задача "Замена регистра символов"
Пользователь вводит строку кириллицей разного регистра. Напишите функцию, которая принимает строку в качестве аргумента и заменяет регистр каждого символа на противоположный. Например, если вводится «КаЖдЫй ОхОтНиК», то на выходе должен быть массив [кАжДыЙ оХоТнИк].
const str = prompt('Введите слово', 'КаЖдЫй ОхОтНиК');
function changeRegister (str) {
// Ваш код
}
document.writeln(changeRegister(str)); // [кАжДыЙ оХоТнИк]
Сегодня у нас будет задача "Замена регистра символов"
Пользователь вводит строку кириллицей разного регистра. Напишите функцию, которая принимает строку в качестве аргумента и заменяет регистр каждого символа на противоположный. Например, если вводится «КаЖдЫй ОхОтНиК», то на выходе должен быть массив [кАжДыЙ оХоТнИк].
const str = prompt('Введите слово', 'КаЖдЫй ОхОтНиК');
function changeRegister (str) {
// Ваш код
}
document.writeln(changeRegister(str)); // [кАжДыЙ оХоТнИк]
Задачка для слайдера:
Даны картинки. По первому нажатию на любую картинку увеличьте ее в 2 раза. По второму нажатию -
уменьшите обратно.
Даны картинки. По первому нажатию на любую картинку увеличьте ее в 2 раза. По второму нажатию -
уменьшите обратно.