Переделайте предыдущее ДЗ используя максимум возможностей ES6. Отметьте облегчение (или утяжеление) синтаксиса.
Сделайте обобщенную функцию сортировки массива
var persons = [
{name: "Иван", age: 17},
{name: "Мария", age: 35},
{name: "Алексей", age: 73},
{name: "Яков", age: 12},
]
sort(persons, "age"); //сортирует по возрасту по возрастанию
sort(persons, "name", false); //сортирует по имени по убыванию
Функция позволяет отсортировать любой набор данных по имени поля (второй параметр). Третьим параметром идет необязательный Boolean
, который в случае true
делает сортировку по возрастанию, в случае false
- по убыванию. По умолчанию (без третьего параметра)
происходит сортировка по возрастанию.
Используя Array.map
приведите все строки в массиве к числу. Элементы других типов оставьте как есть:
["1", {}, null, undefined, "500", 700]
должно превратиться в
[1, {}, null, undefined, 500, 700]
Получите произведение всех чисел в массиве, используя Array.reduce
. Не обрабатывайте типы данных, не являющиеся числом.
["0", 5, 3, "string", null]
результат должен быть 15
Напишите свою реализацию Array.filter
для объектов:
var phone = {
brand: "meizu",
model: "m2",
ram: 2,
color: "black",
};
filter(phone,(key,value) => key == "color" || value == 2);
должно вернуть
{
ram: 2,
color: "black",
}
Для удаления пары ключ-значение используйте delete
. Или сделайте копию объекта.
Напишите свою реализацию Array.map
для объектов:
map({name: "Иван", age: 17},function(key,value){
var result = {};
result[key+"_"] = value + "$";
return result;
}) //должен вернуть {name_: "Иван$", age_: "17$"}