Готовый Код | Frontend
883 subscribers
470 photos
7 videos
240 links
Здесь ты найдешь готовый код для фронтенд разработки

По вопросам : @sul_furas
加入频道
Хай! Найдите числа, которые делятся на заданное число
Завершите функцию, которая принимает два аргумента и возвращает все числа, которые делятся на данный делитель. Первый аргумент - это массив чисел, а второй - делитель.

Пример
divisibleBy([1, 2, 3, 4, 5, 6], 2) == [2, 4, 6]
Хай! Задача: Список.
Объекты могут быть использованы для построения различных структур данных. Часто встречающаяся структура – список (не путайте с массивом). Список – связанный набор объектов, где первый объект содержит ссылку на второй, второй – на третий, и т.п.

var list = {
value: 1,
rest: {
value: 2,
rest: {
value: 3,
rest: null
}
}
};


Списки удобны тем, что они могут делиться частью своей структуры. Например, можно сделать два списка, {value: 0, rest: list} и {value: -1, rest: list}, где list – это ссылка на ранее объявленную переменную. Это два независимых списка, при этом у них есть общая структура list, которая включает три последних элемента каждого из них. Кроме того, оригинальный список также сохраняет свои свойства как отдельный список из трёх элементов.
Напишите функцию arrayToList, которая строит такую структуру, получая в качестве аргумента [1, 2, 3], а также функцию listToArray, которая создаёт массив из списка. Также напишите вспомогательную функцию prepend, которая получает элемент и создаёт новый список, где этот элемент добавлен спереди к первоначальному списку, и функцию nth, которая в качестве аргументов принимает список и число, а возвращает элемент на заданной позиции в списке, или же undefined в случае отсутствия такого элемента.

Если ваша версия nth не рекурсивна, тогда напишите её рекурсивную версию.


console.log(arrayToList([10, 20]));
// → {value: 10, rest: {value: 20, rest: null}}
console.log(listToArray(arrayToList([10, 20, 30])));
// → [10, 20, 30]
console.log(prepend(10, prepend(20, null)));
// → {value: 10, rest: {value: 20, rest: null}}
console.log(nth(arrayToList([10, 20, 30]), 1));
// → 20
Хай! Твоя задача Треугольник.

Напишите цикл, выводит такой треугольник:
Задача: "Рекурсия".
Ноль чётный. Единица нечётная. У любого числа N чётность такая же, как у N-2.Напишите рекурсивную функцию isEven согласно этим правилам. Она должна принимать число и возвращать булевское значение. Потестируйте её на 50 и 75. Попробуйте задать ей -1. Почему она ведёт себя таким образом? Можно ли её как-то исправить?

console.log(isEven(50));
// → true
console.log(isEven(75));
// → false
console.log(isEven(-1));
// → ??
Хай! Сегодня мы ищем разницу в возрасте)
Используя набор данных из примера, подсчитайте среднюю разницу в возрасте между матерями и их детьми (это возраст матери во время появления ребёнка). Можно использовать функцию 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
Новый год наступает на пятки и праздничное настроение уже манит! А меж тем декабрь не отпускает своей суетой и задачами...

А ты все успел в этом году?
Помогаем разложить по полкам дела и расставить правильные приоритеты:

ТАЙМ-МЕНЕДЖМЕНТ И КАК ВСЕ УСПЕТЬ
- - читать статью.
Хай! Напиши функцию, которая принимает массив чисел, например [1,2,3,4,5], и переносит первый элемент массива в конец (например можно засунуть первый элемент в конец, затем удалить первый элемент), попробуй несколькими способами сделать, если догадаешься
Привет, друг!

Мы готовим для тебя новый стрим на нашем YouTube канале:
"Как стартовать в IT".

🕖 28.12.2022 в 19:00 по МСК будем разбирать самые наболевшие темы:

✔️ нужно ли идти в IT в 2023,
✔️ рынок труда в IT — есть ли спрос,
✔️ что должен знать junior (чек-лист по базовым знаниям),
✔️ сколько учиться чтобы выйти на работу,
✔️ как не перегореть во время обучения,
✔️ в 30 не поздно? а в 14 не рано идти учиться,
✔️ страхи перед обучением: найду ли работу, будет ли сложно, как совмещать работу и учебу,
✔️ ошибки в обучении (личный опыт спикеров),
✔️ тайм-менеджмент студента, и т.д.

Наши спикеры помогут с тайм-менеджментом, расскажут про ошибки при обучении и как их избежать.

Приходи, будем беседовать беседы и раздавать советы 😉 -- "Как стартовать в IT".

*задать свой вопрос для стрима можно тут
Чему будут равны переменные a и x после исполнения кода в примере ниже?
let a = 2;

let x = 1 + (a *= 2);
Друзья, напоминаем, что сегодня в 19:00 по МСК у нас будет стрим на YouTube — "Как стартовать в IT".

Приходи, подписывайся!
Атенсион!

Уже прямо сейчас ровно в 19:00 по МСК у нас будет стрим на YouTube — "Как стартовать в IT".

Наши спикеры:
Марк Джовиев - full-stack разработчик с опытом 20+ лет в индустрии IT. Автор курса "JavaScript с нуля".
Дмитрий Муравьев - senior front end разработчик, архитектор и team lead с опытом более 10 лет в разработке. соАвтор курса.

Готовь чай, кофе и свои вопросы — будем отвечать!
Хай! Активирован ли строгий режим?
alert("some code");
"use strict";

P.s Что такое строгий режим? Знаете - пишите)
Теперь задача на цикл! Осилите?
Напишите программу, которая находит все делители числа, кроме единицы и самого числа.
Ответы скидываем в комментариях

P,s Пятнадцать смайлов и скидываем решение)
Хай! Задача:
Выйдите из цикла, изменив только две отмеченные строки. Результат в консоли сейчас останавливается на 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.
Пора решить задачу:
Напишите функцию, которая генерирует все комбинации строки
Напишите функцию 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');
Оператор instanceof позволяет проверить, принадлежит ли объект указанному классу, с учётом наследования.

Почему instanceof в примере ниже возвращает true? Мы же видим, что a не создан с помощью B().

function A() {}
function B() {}

A.prototype = B.prototype = {};

let a = new A();

alert( a instanceof B ); // true