Вам даны две строки, состоящие из строчных букв. В первой строке может быть (asterix), которая может быть заменена сточными буквами или пустой строкой. Реализуйте проверку, возможно ли заменить на буквы так, чтобы строки a и b стали идентичными
Примеры:
Примеры:
solve("code*s","codewars") = true
Потому что * можно заменить на war и получится codewars
solve("codewar*s","codewars") = true
Потому что можно заменить * на "" и получится codewars solve("codewars","codewars") = true
Потому что строки уже идентичны
solve("a","b") = falseНе тормози на пути в Веб-разработку
Ребята, знакомьтесь с другими нашими каналами, если еще не знакомы
Senior Frontend - здесь мы постим крутые примеры кода, статьи и викторины по фронтенду
Senior WebDev - здесь постим статьи и викторины для веб-разработчиков (js, css, node.js, sql)
Приятного просмотра 😉
Ребята, знакомьтесь с другими нашими каналами, если еще не знакомы
Senior Frontend - здесь мы постим крутые примеры кода, статьи и викторины по фронтенду
Senior WebDev - здесь постим статьи и викторины для веб-разработчиков (js, css, node.js, sql)
Приятного просмотра 😉
Что такое замыкание и как/для чего их используют?
Замыкание — это комбинация функции и лексического окружения, в которой эта функция была объявлена. Слово “лексический” относится к тому факту, что лексическая область видимости использует место, где переменная объявлена в исходном коде, чтобы определить, где эта переменная доступна. Замыкания — это функции, которые имеют доступ к переменным внешней (замыкающей) функции — цепочке областей видимости даже после того, как внешняя функция вернулась.
Для чего его используют?
Конфиденциальность данных / эмуляция скрытых методов при помощи замыканий. Обычно используется в модульном паттерне.
Частичное применение функций или каррирование.
Замыкание — это комбинация функции и лексического окружения, в которой эта функция была объявлена. Слово “лексический” относится к тому факту, что лексическая область видимости использует место, где переменная объявлена в исходном коде, чтобы определить, где эта переменная доступна. Замыкания — это функции, которые имеют доступ к переменным внешней (замыкающей) функции — цепочке областей видимости даже после того, как внешняя функция вернулась.
Для чего его используют?
Конфиденциальность данных / эмуляция скрытых методов при помощи замыканий. Обычно используется в модульном паттерне.
Частичное применение функций или каррирование.
Назовите основное различие между циклом forEach и циклом map?
Основное различие между .forEach и .map() состоит в том, что .map() возвращает новый массив. Если вам нужен результат, но вы не хотите изменять исходный массив, .map() — очевидный выбор. Если вам просто нужно перебрать массив, то стоит воспользоваться forEach.
Основное различие между .forEach и .map() состоит в том, что .map() возвращает новый массив. Если вам нужен результат, но вы не хотите изменять исходный массив, .map() — очевидный выбор. Если вам просто нужно перебрать массив, то стоит воспользоваться forEach.
Нули и единицы
Вам дан массив нулей и единиц. Интерпретируйте полученный массив как двоичное число и переведите его в десятичное.
Примеры:
Вам дан массив нулей и единиц. Интерпретируйте полученный массив как двоичное число и переведите его в десятичное.
Примеры:
Testing: [0, 0, 0, 1] ==> 1
Testing: [0, 0, 1, 0] ==> 2
Testing: [0, 1, 0, 1] ==> 5
Testing: [1, 0, 0, 1] ==> 9
Testing: [0, 0, 1, 0] ==> 2
Testing: [0, 1, 1, 0] ==> 6
Testing: [1, 1, 1, 1] ==> 15
Testing: [1, 0, 1, 1] ==> 11Какое значение свойства width у элемента section?
Anonymous Quiz
5%
0px
1%
120px
23%
30px
19%
60px
52%
300px
В чем разница между call и apply?
Сходство заключается в том, что и .call, и .apply используются для вызова функций, а также первый параметр будет использоваться как значение this внутри функции. А разница в том, что .call в качестве следующих аргументов принимает аргументы, разделенные запятыми, в то время как .apply в качестве следующих аргументов принимает массив аргументов.
Сходство заключается в том, что и .call, и .apply используются для вызова функций, а также первый параметр будет использоваться как значение this внутри функции. А разница в том, что .call в качестве следующих аргументов принимает аргументы, разделенные запятыми, в то время как .apply в качестве следующих аргументов принимает массив аргументов.
function add(a, b) {
return a + b;
}
console.log(add.call(null, 1, 2)); // 3
console.log(add.apply(null, [1, 2])); // 3Что делает и для чего нужна функция `Function.prototype.bind`?
Метод bind() создаёт новую функцию, которая при вызове устанавливает в качестве контекста выполнения this предоставленное значение. В метод также передаётся набор аргументов, которые будут установлены перед переданными в привязанную функцию аргументами при её вызове.
Метод bind() создаёт новую функцию, которая при вызове устанавливает в качестве контекста выполнения this предоставленное значение. В метод также передаётся набор аргументов, которые будут установлены перед переданными в привязанную функцию аргументами при её вызове.
let user = {
firstName: "Вася",
say(phrase) {
alert(`${phrase}, ${this.firstName}!`);
}
};
let say = user.say.bind(user);
say("Привет");
// Привет, Вася (аргумент "Привет" передан в функцию "say")
say("Пока");
// Пока, Вася (аргумент "Пока" передан в функцию "say")
По моему опыту, это наиболее полезно для привязки значения this в методах классов, которые вы хотите передать в другие функции. Это часто делается в компонентах React.Какое значение свойства line-height у элемента h1?
Anonymous Quiz
21%
48px
12%
24px
36%
32px
26%
2px
5%
16px
Объясните, что такое всплытие событий (event bubbling)
Когда событие срабатывает на элементе DOM, оно попытается обработать событие (если привязан обработчик), затем событие всплывет вверх к своему родителю и это повторится снова. Подобное всплытие проходит по всем предкам элемента вплоть до
Когда событие срабатывает на элементе DOM, оно попытается обработать событие (если привязан обработчик), затем событие всплывет вверх к своему родителю и это повторится снова. Подобное всплытие проходит по всем предкам элемента вплоть до
document. Всплытие событий является механизмом, на котором основано делегирование событий.