ilia makarov

Сложить все аргументы

Реализуй функцию sum(), которая суммирует все передаваемые ей аргументы. В аргументах могут быть любые данные. Пример работы:

sum(10, 20); // 30

Проверить вхождение элементов в массив

Реализовать функцию isInArray, проверяющую вхождение элементов в массив. Первый аргумент функции - массив, последующие - элементы, вхождение в массив которых проверяется. Функция возвращает true, если все аргументы, кроме первого являются элементами массива. Пример работы:

isInArray([1], 1); // true
isInArray([1], 1, 2); // false
isInArray([1, 2], 1, 2); // true

Проверить каждый элемент массива на удовлетворение условию

Реализовать функцию every(arr, func), которая принимает аргументами массив arr и функцию func. Возвращает true, если функция func вернет для каждого элемента массива true. В функцию func нужно передавать аргументами элемет массива, индекс элемента массива и сам массив.

Пример как должен работать код:

// Проверка на то, что все элементы массива - строки
every(['mama', 'mila', 'ramu'], function (arrayItem) {
    return typeof arrayItem === 'string';
}); // true

// Проверка на то, что все элементы массива больше своих индексов
every([4, 8, 1], function (arrayItem, itemIndex) {
    return arrayItem > itemIndex
}); // false

Выполнить функции из массива

Релизовать функцию execFunctions(arrOfFunctions), которая получает аргументом массив функций arrOfFunctions, и возвращает массив, где каждый элемент это результат вызова функции стоящей на индексе, что и элемент.

Пример работы:

function return10() {
  return 10;
}

function returnUser() {
  return {name: "Evgen"};
}

function empty() {}

execFunctions([return10, returnUser, empty]); // [10, {name: "Evgen"}, undefined]

Получить название файла или папки из пути

Реализовать функцию getName(path), которая возвращает название папки или файла из строки пути. Разделители сегментов путей - юниксовые ("/"). Примеры путей:

'/users/dmitry/Dropbox/'
'/users/dmitry/Dropbox'
'/users/dmitry/Dropbox/main.js'