"the-stealth-warrior" gets converted to "theStealthWarrior" "The_Stealth_Warrior" gets converted to "TheStealthWarrior"Решение задачи🔽 function toCamelCase(str) { return str.replace(/[-_](.)/g, (_, char) => char.toUpperCase()); } // Примеры использования console.log(toCamelCase("the-stealth-warrior")); // "theStealthWarrior" console.log(toCamelCase("The_Stealth_Warrior")); // "TheStealthWarrior"
a1и
a2возвращают отсортированный массив
rв лексикографическом порядке строк
a1, которые являются подстроками строк
a2. Пример кода:
a1 = ["arp", "live", "strong"] a2 = ["lively", "alive", "harp", "sharp", "armstrong"] вернет ["arp", "live", "strong"]
a1 = ["tarp", "mice", "bull"] a2 = ["lively", "alive", "harp", "sharp", "armstrong"] вернет []Решение задачи🔽 function inArray(array1, array2) { return array1.filter(str1 => array2.some(str2 => str2.includes(str1)) ).sort(); } // Примеры использования: let a1 = ["arp", "live", "strong"]; let a2 = ["lively", "alive", "harp", "sharp", "armstrong"]; console.log(inArray(a1, a2)); // вернет ["arp", "live", "strong"] a1 = ["tarp", "mice", "bull"]; a2 = ["lively", "alive", "harp", "sharp", "armstrong"]; console.log(inArray(a1, a2)); // вернет []
a = "xyaabbbccccdefww" b = "xxxxyyyyabklmopq" longest(a, b) -> "abcdefklmopqwxy" a = "abcdefghijklmnopqrstuvwxyz" longest(a, a) -> "abcdefghijklmnopqrstuvwxyz"Решение задачи🔽 function longest(s1, s2) { // Объединяем строки let combined = s1 + s2; // Преобразуем строку в массив, используя Set для удаления дубликатов let uniqueChars = [...new Set(combined)]; // Сортируем массив uniqueChars.sort(); // Преобразуем обратно в строку и возвращаем результат return uniqueChars.join(''); } // Примеры использования let a = "xyaabbbccccdefww"; let b = "xxxxyyyyabklmopq"; console.log(longest(a, b)); // "abcdefklmopqwxy" a = "abcdefghijklmnopqrstuvwxyz"; console.log(longest(a, a)); // "abcdefghijklmnopqrstuvwxyz"
isSolved([[0,0,1], [0,1,2], [2,1,0]]) => -1Мы хотим, чтобы наша функция возвращала: -1, если есть пустые места, 1, если "X" выиграли, 2, если "О" выиграли, 0, если это ничья. Решение задачи🔽 function isSolved(board) { const checkLine = (a, b, c) => { if (a === b && b === c) {
array_diff([1,2],[1]) == [2]Если значение присутствует в b, все его вхождения должны быть удалены из другого:
array_diff([1,2,2,2,3],[2]) == [1,3]Решение задачи🔽 function array_diff(a, b) { return a.filter(item => !b.includes(item)); } // Примеры использования: console.log(array_diff([1, 2], [1])); // [2] console.log(array_diff([1, 2, 2, 2, 3], [2])); // [1, 3] console.log(array_diff([1, 2, 2], [1])); // [2, 2] console.log(array_diff([1, 2, 2], [])); // [1, 2, 2] console.log(array_diff([], [1, 2])); // []
:has()является реляционным псевдоклассом. Это означает, что он позволяет выбрать элемент на основе его отношений с другими элементами. Читать...
XO("ooxx") => true XO("xooxx") => false XO("ooxXm") => true XO("zpzpzpp") => true // when no 'x' and 'o' is present should return true XO("zzoo") => falseРешение задачи🔽 function XO(str) { // Преобразуем строку в нижний регистр str = str.toLowerCase(); // Подсчитываем количество 'x' и 'o' let xCount = 0; let oCount = 0; for (let char of str) { if (char === 'x') xCount++; if (char === 'o') oCount++; } // Сравниваем количество 'x' и 'o' return xCount === oCount; } // Примеры использования console.log(XO("ooxx")); // true console.log(XO("xooxx")); // false console.log(XO("ooxXm")); // true console.log(XO("zpzpzpp")); // true console.log(XO("zzoo")); // false
expandedForm(12); // Should return '10 + 2' expandedForm(42); // Should return '40 + 2' expandedForm(70304); // Should return '70000 + 300 + 4'Решение задачи🔽 function expandedForm(num) { return num .toString() .split('') .reverse() .map((digit, index) => digit * Math.pow(10, index)) .filter(val => val > 0) .reverse() .join(' + '); } // Примеры использования: console.log(expandedForm(12)); // Вывод: '10 + 2' console.log(expandedForm(42)); // Вывод: '40 + 2' console.log(expandedForm(70304)); // Вывод: '70000 + 300 + 4'