Skip to content

Instantly share code, notes, and snippets.

@dmitryt
dmitryt / solution.js
Last active September 8, 2017 05:12
Few tasks
/**
Напишите функцию, которая принимает список не отрицательных целых чисел, упорядочивает их так, чтобы они составляли максимально возможное число. Например, [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.
Задача №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>
Задача №1
Раньше в JavaScript’e очень не хватало биндинга событий\функций. Начиная с Javascript 1.8.5(IE9, FF4, Chrome7, Opera 11.6) появилась нативная реализация. Раньше же приходилось писать собственную реализацию биндинга или использовать существующие решения.
Напишите реализацию функции bind, которая позволяет выполнять функцию в передаваемом контексте выполнения и аргументами.
Подсказка: Обратите внимание на методы apply/call нативного JavaScript.
Пример:
var App = function(){
return {
init: function() {
Задача №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 - для копирования объекта с учетом вложенных объектов: