Maxymiser task 05
by Vladimir
HTML
<h2>1. Сложить все аргументы</h2>
<p>Реализуй функцию sum(), которая суммирует все передаваемые ей аргументы. В аргументах могут быть любые данные. Пример работы:<br />
<code>sum(10, 20); // 30</code>
</p>
<h2>2. Проверить вхождение элементов в массив</h2>
<p>Реализовать функцию isInArray , проверяющую вхождение элементов в массив. Первый аргумент функции - массив, последующие - элементы, вхождение в массив которых проверяется. Функция возвращает true, если все аргументы, кроме первого являются элементами массива. Пример работы:<br />
<code>isInArray([1], 1); // true<br />
isInArray([1], 1, 2); // false<br />
isInArray([1, 2], 1, 2); // true</code>
</p>
<h2> 3. Проверить каждый элемент массива на удовлетворение условию</h2>
<p>Реализовать функцию every(arr, func), которая принимает аргументами массив arr и функцию func. Возвращает true, если функция func вернет для каждого элемента массива true. В функцию func нужно передавать аргументами элемет массива, индекс элемента массива и сам массив. Пример как должен работать код:<br />
<code>// Проверка на то, что все элементы массива - строки<br />
every(['mama', 'mila', 'ramu'], function (arrayItem) {<br />
return typeof arrayItem === 'string';<br />
}); // true<br />
<br />
// Проверка на то, что все элементы массива больше своих индексов<br />
every([4, 8, 1], function (arrayItem, itemIndex) {<br />
return arrayItem > itemIndex<br />
}); // false<br />
</code>
</p>
<h2> 4.Выполнить функции из массива</h2>
<p>Релизовать функцию execFunctions(arrOfFunctions), которая получает аргументом массив функций arrOfFunctions, и возвращает массив, где каждый элемент это результат вызова функции стоящей на индексе, что и элемент. Пример работы:<br />
<code>function return10() {<br />
return 10;<br />
}<br />
<br />
function returnUser() {<br />
return {name: "Evgen"};<br />
}<br />
<br />
function empty() {}<br />
<br />
execFunctions([return10, returnUser, empty]); // [10, {name:...
CSS
body {
font-family: Verdana;
}
code {
display: block;
padding: 5px;
background: #EEE;
}
JavaScript
//* 1
function sum() {
var summ = arguments[0];
for(var i = 1; i < arguments.length; i++) {
summ += arguments[i];
}
return summ;
}
//------
//* 2
function isInArray(arr) {
var exampleArr = arguments[0];
for(var i =1; i < arguments.length; i++) {
var found = false;
for(var j = 0; j < exampleArr.length; j++) {
if(exampleArr[j] == arguments[i]) {
found = true;
}
}
if(!found) {
return false;
}
}
return true;
}
//------
//* 3
function every(arr, func) {
for(var i = 0; i < arr.length; i++) {
if(!func(arr[i], i, arr)) {
return false;
}
}
return true;
}
//------
//* 4
function execFunctions(arrOfFunctions) {
var arr = [];
for(var i = 0; i < arrOfFunctions.length; i++) {
if(typeof(arrOfFunctions[i]) == 'function') {
arr.push(arrOfFunctions[i]());
}
}
return arr;
}
//------
//* 5
function getName(path) {
var parts = path.split('/');
var result;
while(!result) {
result = parts.pop();
}
return result;
}