Задачка может быть тестовым заданием)
Потенциальному разработчику предоставляется строка.
Напишите функцию, которая:
- вернет значение истины, если string – это палиндром;
- в противном случае на экран будет выведен результат false;
- делать все это с учетом пробелов и имеющихся знаков препинания.
Пример – при наличии строки, содержащей только слово cat, значение функции должно быть false. А если работать с лексемой racecar – true.
Потенциальному разработчику предоставляется строка.
Напишите функцию, которая:
- вернет значение истины, если string – это палиндром;
- в противном случае на экран будет выведен результат false;
- делать все это с учетом пробелов и имеющихся знаков препинания.
Пример – при наличии строки, содержащей только слово cat, значение функции должно быть false. А если работать с лексемой racecar – true.
Задача: Возраст
Ваша функция принимает два аргумента:
текущий возраст отца (лет)
текущий возраст сына (лет)
Подсчитайте, сколько лет назад отец был вдвое старше сына (или через сколько лет он будет вдвое старше).
P.s Решение будет позже)
Ваша функция принимает два аргумента:
текущий возраст отца (лет)
текущий возраст сына (лет)
Подсчитайте, сколько лет назад отец был вдвое старше сына (или через сколько лет он будет вдвое старше).
P.s Решение будет позже)
Хай! Сегодня мы ищем разницу в возрасте)
Используя набор данных из примера, подсчитайте среднюю разницу в возрасте между матерями и их детьми (это возраст матери во время появления ребёнка). Можно использовать функцию 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 раза. По второму нажатию -
уменьшите обратно.