This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
Напишите функцию, которая принимает список не отрицательных целых чисел, упорядочивает их так, чтобы они составляли максимально возможное число. Например, [50, 2, 1, 9], наибольшее сформированное число равно 95021. | |
*/ | |
function max(numbers) { | |
return numbers.map(n => String(n)).sort().reverse().join(''); | |
} | |
/** | |
Напишите программу, которая поместит + , –, или пробел в промежутках между цифрами 1, 2, …, 9 (в таком порядке) так, чтобы в результате получилось 100. Например: 1 + 2 + 34 — 5 + 67 — 8 + 9 = 100. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Задача №1. | |
На лекции мы рассказывали про концепцию делегирования событий. Это бывает удобно в случае, когда в контейнере находиться много элементов, на которые необходимо подвесить обработчики событий. Напишите реализацию функции delegate, с помощью которой можно подвесить обработчик событий на основной контейнер, который будет вызывать функцию при срабатывании события на дочернем элементе. | |
<Node>.delegate(/* String */childSelector, /* String */eventType, /* Function */handler) | |
Пример: | |
//html | |
<div id="container"><div class="child"></div><div class="child"></div><div class="anotherChild"></div></div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Задача №1 | |
Раньше в JavaScript’e очень не хватало биндинга событий\функций. Начиная с Javascript 1.8.5(IE9, FF4, Chrome7, Opera 11.6) появилась нативная реализация. Раньше же приходилось писать собственную реализацию биндинга или использовать существующие решения. | |
Напишите реализацию функции bind, которая позволяет выполнять функцию в передаваемом контексте выполнения и аргументами. | |
Подсказка: Обратите внимание на методы apply/call нативного JavaScript. | |
Пример: | |
var App = function(){ | |
return { | |
init: function() { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Задача №1 | |
Напишите реализацию функции getObject(path, obj), которая вернет значение аттрибута объекта obj по заданному пути: | |
var o = {a: {b: ‘c’}}; | |
getObject(‘a.b’, o) // ‘c’ | |
getObject(‘a’, o) // {b: ‘c’} | |
getObject(‘d’, o) // undefined | |
Задача №2. | |
Реализация функции deepCopy - для копирования объекта с учетом вложенных объектов: |