// sort
// const persons = [
//   { name: "Иван", age: 17 },
//   { name: "Мария", age: 35 },
//   { name: "Алексей", age: 73 },
//   { name: "Яков", age: 12 },
// ];
// sort = (arr, key, bool = true) => {
//   bool === false
//     ? arr.sort((a, b) => (a[key] > b[key] ? -1 : 1))
//     : arr.sort((a, b) => (a[key] > b[key] ? 1 : -1));
//   console.log(arr);
// };

// sort(persons, "age"); //сортирует по возрасту по возрастанию
// sort(persons, "name", false); //сортирует по имени по убыванию

// array map
// const arr = ["1", {}, null, undefined, "500", 700];
// const arrToNum = (item) => (typeof item === "string" ? +item : item);
// console.log(arr.map(arrToNum));

// array reduce
// const arr = ["0", 5, 3, "string", null];
// const result = (item, mul) => (typeof mul === "number" ? (item *= mul) : item);
// console.log(arr.reduce(result, 1));

// object filter
// const phone = {
//   brand: "meizu",
//   model: "m2",
//   ram: 2,
//   color: "black",
// };
// filter = (obj, fun) => {
//   let obj1 = {};
//   for (const key in obj) {
//     if (fun(key, obj[key])) {
//       obj1[key] = obj[key];
//     }
//   }
//   console.log(obj1);
// };

// filter(phone, (key, value) => key == "color" || value == 2);

// object map
// map = (obj, fun) => {
//   let obj1 = {};
//   for (const key in obj) {
//     let simb = fun(key, obj[key]);
//     for (const key2 in simb) {
//       obj1[key2] = simb[key2];
//     }
//   }
//   console.log(obj1);
// };

// map({ name: "Иван", age: 17 }, function (key, value) {
//   const result = {};
//   result[key + "_"] = value + "$";
//   return result;
// });
