//1 let a1 = () => alert('Привет') //2 let b1 = (b) => b = b ** 3 //3 let c1 = (a, b) => (a + b) / 2 //4 let d1 = (a = 0, b = 0, c = 0) => g = a + b + c //5 let e1 = (a, b) => { if (b === undefined) { z = Math.round(Math.random()*a) } else { z = ((Math.round(Math.random() * (b - a))+a)) } return z } //6 let p = "" let f1 = (...arguments) => { for (i = 0; i < arguments.length; i++){ p = p + "," + arguments[i] } alert(`Hello ${p}`) } //7 let sum1 = 0 let g1 = (...arguments) => { for (i = 0; i < arguments.length; i++){ sum1 += arguments[i] } return sum1 } //sort var persons = [ {name: "Иван", age: 17}, {name: "Мария", age: 35}, {name: "Алексей", age: 73}, {name: "Яков", age: 12}, ] function sort1(array, key, bool = true) { if (bool) { array.sort((a, b) => a[key] > b[key] ? 1 : -1) } else { array.sort((a, b) => a[key] < b[key] ? 1 : -1) return console.log(array) } } //sort(persons, "age"); //сортирует по возрасту по возрастанию sort1(persons, "name", false); //сортирует по имени по убыванию //array map ["1", {}, null, undefined, "500", 700].map(x => typeof(x) === 'string' ? parseInt(x) : x) //array reduce ["0", 5, 3, "string", null].reduce(f) function f(a, b) { if (typeof (a) === 'number' ) { a = a } else { a = 1 } if (typeof (b) === 'number') { b = b } else { b = 1 } return a * b } //object filter var phone = { brand: "meizu", model: "m2", ram: 2, color: "black", }; function filter(object , search ,value) { for (let key in object) { if (key != search & object[key] != value) delete object[key]; } return phone } filter(phone, "color", 2) //object map ???????? function map(obj, funct){ for(key in obj){ funct(obj, key, obj[key]); delete obj[key]; } return obj; } function by(obj, key, value){ obj[key + "_"] = value + "$"; return obj; } console.log(map({ name: "Иван", age: 18, tel: 16780 }, by)) //Sum function sum(a){ if (a === 1){ return a } else { return a + sum(a - 1) } }