Created
August 28, 2019 13:59
-
-
Save picpoint/b73a00a7615dcf13fcf8dd34bcb0bf77 to your computer and use it in GitHub Desktop.
LOFT ДЗ 3
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
/* ДЗ 3 - работа с массивами и объеектами */ | |
/* | |
Задача 1: | |
Напишите аналог встроенного метода forEach для работы с массивами | |
*/ | |
function forEach(array, fn) { | |
for (let i = 0; i < array.length; i++) { | |
fn(array[i], i, array); | |
} | |
} | |
/* | |
Задача 2: | |
Напишите аналог встроенного метода map для работы с массивами | |
*/ | |
function map(array, fn) { | |
let mass = []; | |
for (let i = 0; i < array.length; i++) { | |
mass.push(fn(array[i], i, array)); | |
} | |
return mass; | |
} | |
/* | |
Задача 3: | |
Напишите аналог встроенного метода reduce для работы с массивами | |
*/ | |
function reduce(array, fn, initial) { | |
for (let i = 0; i < array.length; i++) { | |
fn(array[i]); | |
} | |
} | |
/* | |
Задача 4: | |
Функция принимает объект и имя свойства, которое необходиом удалить из объекта | |
Функция должна удалить указанное свойство из указанного объекта | |
*/ | |
function deleteProperty(obj, prop) { | |
} | |
/* | |
Задача 5: | |
Функция принимает объект и имя свойства и возвращает true или false | |
Функция должна проверить существует ли укзаанное свойство в указанном объекте | |
*/ | |
function hasProperty(obj, prop) { | |
} | |
/* | |
Задача 6: | |
Функция должна получить все перечисляемые свойства объекта и вернуть их в виде массива | |
*/ | |
function getEnumProps(obj) { | |
} | |
/* | |
Задача 7: | |
Функция должна перебрать все свойства объекта, преобразовать их имена в верхний регистра и вернуть в виде массива | |
*/ | |
function upperProps(obj) { | |
} | |
/* | |
Задача 8 *: | |
Напишите аналог встроенного метода slice для работы с массивами | |
*/ | |
function slice(array, from, to) { | |
} | |
/* | |
Задача 9 *: | |
Функция принимает объект и должна вернуть Proxy для этого объекта | |
Proxy должен перехватывать все попытки записи значений свойств и возводить это значение в квадрат | |
*/ | |
function createProxy(obj) { | |
} | |
export { | |
forEach, | |
map, | |
reduce, | |
deleteProperty, | |
hasProperty, | |
getEnumProps, | |
upperProps, | |
slice, | |
createProxy | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment