Skip to content

Instantly share code, notes, and snippets.

@picpoint
Created August 28, 2019 13:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save picpoint/b73a00a7615dcf13fcf8dd34bcb0bf77 to your computer and use it in GitHub Desktop.
Save picpoint/b73a00a7615dcf13fcf8dd34bcb0bf77 to your computer and use it in GitHub Desktop.
LOFT ДЗ 3
/* ДЗ 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