Друзья, напоминаем, что сегодня в 19:00 по МСК у нас будет стрим на YouTube — "Как стартовать в IT".
Приходи, подписывайся!
Приходи, подписывайся!
Атенсион!
Уже прямо сейчас ровно в 19:00 по МСК у нас будет стрим на YouTube — "Как стартовать в IT".
Наши спикеры:
Марк Джовиев - full-stack разработчик с опытом 20+ лет в индустрии IT. Автор курса "JavaScript с нуля".
Дмитрий Муравьев - senior front end разработчик, архитектор и team lead с опытом более 10 лет в разработке. соАвтор курса.
Готовь чай, кофе и свои вопросы — будем отвечать!
Уже прямо сейчас ровно в 19:00 по МСК у нас будет стрим на YouTube — "Как стартовать в IT".
Наши спикеры:
Марк Джовиев - full-stack разработчик с опытом 20+ лет в индустрии IT. Автор курса "JavaScript с нуля".
Дмитрий Муравьев - senior front end разработчик, архитектор и team lead с опытом более 10 лет в разработке. соАвтор курса.
Готовь чай, кофе и свои вопросы — будем отвечать!
А ты уже на стриме?) Мы тут ждем тебя -- ссылка на вебинар.
Google
Real-time meetings by Google. Using your browser, share your video, desktop, and presentations with teammates and customers.
Хай! Задача:
Выйдите из цикла, изменив только две отмеченные строки. Результат в консоли сейчас останавливается на 9 9. Должен на 5 4.
for (let i = 0; i < 10; i++) { //! Эту строку можно изменить
for (let j = 0; j < 10; j++) {
if (i === 5 && j === 5) {
//! Эту строку можно изменить
}
console.log(i, j);
}
}
Выйдите из цикла, изменив только две отмеченные строки. Результат в консоли сейчас останавливается на 9 9. Должен на 5 4.
for (let i = 0; i < 10; i++) { //! Эту строку можно изменить
for (let j = 0; j < 10; j++) {
if (i === 5 && j === 5) {
//! Эту строку можно изменить
}
console.log(i, j);
}
}
Рекурсия – это приём программирования, полезный в ситуациях, когда задача может быть естественно разделена на несколько аналогичных, но более простых задач. Или когда задача может быть упрощена до несложных действий плюс простой вариант той же задачи. Или, как мы скоро увидим, для работы с определёнными структурами данных.
Давай решим задачу по рекурсии:
Напишите функцию sumTo(n), которая вычисляет сумму чисел 1 + 2 + ... + n.
Давай решим задачу по рекурсии:
Напишите функцию sumTo(n), которая вычисляет сумму чисел 1 + 2 + ... + n.
Пора решить задачу:
Напишите функцию, которая генерирует все комбинации строки
Напишите функцию substrings(str), которая генерирует все комбинации строки.
Пример строки: 'dog'.
Ожидаемый результат: d, o, do, g, dg, og, dog.
function substrings(str) {
// Ваш код
}
substrings("dog"); // d, o, do, g, dg, og, dog
Напишите функцию, которая генерирует все комбинации строки
Напишите функцию substrings(str), которая генерирует все комбинации строки.
Пример строки: 'dog'.
Ожидаемый результат: d, o, do, g, dg, og, dog.
function substrings(str) {
// Ваш код
}
substrings("dog"); // d, o, do, g, dg, og, dog
Promise API
Метод Promise.all принимает массив промисов (может принимать любой перебираемый объект, но обычно используется массив) и возвращает новый промис.
Каким будет вывод этого фрагмента кода?
console.log('start');
const promise1 = new Promise((resolve, reject) => {
console.log(1)
})
console.log('end');
Метод Promise.all принимает массив промисов (может принимать любой перебираемый объект, но обычно используется массив) и возвращает новый промис.
Каким будет вывод этого фрагмента кода?
console.log('start');
const promise1 = new Promise((resolve, reject) => {
console.log(1)
})
console.log('end');
Оператор instanceof позволяет проверить, принадлежит ли объект указанному классу, с учётом наследования.
Почему instanceof в примере ниже возвращает true? Мы же видим, что a не создан с помощью B().
function A() {}
function B() {}
A.prototype = B.prototype = {};
let a = new A();
alert( a instanceof B ); // true
Почему instanceof в примере ниже возвращает true? Мы же видим, что a не создан с помощью B().
function A() {}
function B() {}
A.prototype = B.prototype = {};
let a = new A();
alert( a instanceof B ); // true
Хай! Проверьте, является ли переданная строка палиндромом или нет
Напишите функцию JavaScript, которая проверяет, является ли переданная строка палиндромом? Палиндром - это слово, фраза или последовательность, которые читаются так же, как вперед, назад, например, level.
function check_Palindrome(str_entry){
// ваш код
}
check_Palindrome('level'); // Запись - палиндром.
check_Palindrome('topot'); // Запись - палиндром.
check_Palindrome('that'); // Вход - это не палиндром.
Напишите функцию JavaScript, которая проверяет, является ли переданная строка палиндромом? Палиндром - это слово, фраза или последовательность, которые читаются так же, как вперед, назад, например, level.
function check_Palindrome(str_entry){
// ваш код
}
check_Palindrome('level'); // Запись - палиндром.
check_Palindrome('topot'); // Запись - палиндром.
check_Palindrome('that'); // Вход - это не палиндром.
Хай! Задача: Сумма диапазона.
Напишите функцию range, принимающую два аргумента, начало и конец диапазона, и возвращающую массив, который содержит все числа из него, включая начальное и конечное.Затем напишите функцию sum, принимающую массив чисел и возвращающую их сумму. Запустите указанную выше инструкцию и убедитесь, что она возвращает 55.В качестве бонуса дополните функцию range, чтобы она могла принимать необязательный третий аргумент – шаг для построения массива. Если он не задан, шаг равен единице. Вызов функции range(1, 10, 2) должен будет вернуть [1, 3, 5, 7, 9]. Убедитесь, что она работает с отрицательным шагом так, что вызов range(5, 2, -1) возвращает [5, 4, 3, 2].
console.log(sum(range(1, 10)));
// → 55
console.log(range(5, 2, -1));
// → [5, 4, 3, 2]
Напишите функцию range, принимающую два аргумента, начало и конец диапазона, и возвращающую массив, который содержит все числа из него, включая начальное и конечное.Затем напишите функцию sum, принимающую массив чисел и возвращающую их сумму. Запустите указанную выше инструкцию и убедитесь, что она возвращает 55.В качестве бонуса дополните функцию range, чтобы она могла принимать необязательный третий аргумент – шаг для построения массива. Если он не задан, шаг равен единице. Вызов функции range(1, 10, 2) должен будет вернуть [1, 3, 5, 7, 9]. Убедитесь, что она работает с отрицательным шагом так, что вызов range(5, 2, -1) возвращает [5, 4, 3, 2].
console.log(sum(range(1, 10)));
// → 55
console.log(range(5, 2, -1));
// → [5, 4, 3, 2]
Хай! Напишите функцию JavaScript для преобразования суммы в монеты.
Пример функции : amount_coins(96, [25, 10, 5, 2,1])
Здесь 96 - сумма, а 25, 10, 5, 2, 1 - монеты.
Вывод : 25,25,25,10,10,1
function amount_coins(amount, coins) {
// ваш код
}
document.writeln(amount_coins(96, [25, 10, 5, 2,1])); // 25,25,25,10,10,1
Пример функции : amount_coins(96, [25, 10, 5, 2,1])
Здесь 96 - сумма, а 25, 10, 5, 2, 1 - монеты.
Вывод : 25,25,25,10,10,1
function amount_coins(amount, coins) {
// ваш код
}
document.writeln(amount_coins(96, [25, 10, 5, 2,1])); // 25,25,25,10,10,1
Привет! Твоя задача на сегодня:
Наша функция partial позволяет фиксировать только первые аргументы. Усовершенствуй ее, чтобы зафиксировать можно было любые аргументы, пропущенные аргументы обозначаются с помощью undefined:
function test(a, b, c) { return 'a=' + a + ',b=' + b + ',c=' + c; }
var test1_3 = partialAny(test, 1, undefined, 3);
console.log(test1_3(5)); // a=1,b=5,c=3
Чтобы избежать путаницы, пусть новая функция называется partialAny
Наша функция partial позволяет фиксировать только первые аргументы. Усовершенствуй ее, чтобы зафиксировать можно было любые аргументы, пропущенные аргументы обозначаются с помощью undefined:
function test(a, b, c) { return 'a=' + a + ',b=' + b + ',c=' + c; }
var test1_3 = partialAny(test, 1, undefined, 3);
console.log(test1_3(5)); // a=1,b=5,c=3
Чтобы избежать путаницы, пусть новая функция называется partialAny
Всем привет! Сегодня задача на вычисление факториала числа
Напишите программу на JavaScript для вычисления факториала числа.
В математике факториал неотрицательного целого числа n, обозначенного через n !, является произведением всех натуральных чисел, меньших или равных n. Например, 5! = 5 х 4 х 3 х 2 х 1 = 120
Напишите программу на JavaScript для вычисления факториала числа.
В математике факториал неотрицательного целого числа n, обозначенного через n !, является произведением всех натуральных чисел, меньших или равных n. Например, 5! = 5 х 4 х 3 х 2 х 1 = 120
Правда/ложь
Ответы на вопросы:
Вопрос: 'false' ложно?
Ответ: Нет, т.к. только пустая строка является ложной.
Вопрос: ' ' ложно?
Ответ: Эта строка не является пустой, т.к. в ней есть пробел. Из этого следует, что ' ' не ложно.
Вопрос: Что насчёт {} ?
Ответ: Истинно, т.к. это объект. Объект без свойств не может быть ложным.
Вопрос: Что можете сказать о [] ?
Ответ: Это выражение также истинно, т.к. это объект массива.
Вопрос: Если вы утверждаете, что '' (пустая строка) является ложным утверждением, тогда что насчёт newString(' ')? // newString(пустая строка)
Ответ: Несмотря на то, что вы передаёте пустую строку в string constructor, конструктор создаёт объект string. Точнее, экземпляр объекта string. Он становится объектом. Следовательно, это не ложь.
Ответы на вопросы:
Вопрос: 'false' ложно?
Ответ: Нет, т.к. только пустая строка является ложной.
Вопрос: ' ' ложно?
Ответ: Эта строка не является пустой, т.к. в ней есть пробел. Из этого следует, что ' ' не ложно.
Вопрос: Что насчёт {} ?
Ответ: Истинно, т.к. это объект. Объект без свойств не может быть ложным.
Вопрос: Что можете сказать о [] ?
Ответ: Это выражение также истинно, т.к. это объект массива.
Вопрос: Если вы утверждаете, что '' (пустая строка) является ложным утверждением, тогда что насчёт newString(' ')? // newString(пустая строка)
Ответ: Несмотря на то, что вы передаёте пустую строку в string constructor, конструктор создаёт объект string. Точнее, экземпляр объекта string. Он становится объектом. Следовательно, это не ложь.