123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- // sort
- {
- var persons = [
- { name: "Иван", age: 17 },
- { name: "Мария", age: 35 },
- { name: "Алексей", age: 73 },
- { name: "Яков", age: 12 },
- ]
- function sort(arr, type, bool = true) {
- return arr.sort((a, b) => {
- let result;
- if (bool) {
- console.log('true')
- result = a[type] > b[type] ? 1 : -1;
- } else {
- console.log('false')
- result = a[type] < b[[type]] ? 1 : -1;
- }
- return result
- })
- }
- console.log(sort(persons, 'name', false))
- }
- // array map
- {
- let arr = ["20", null, undefined, "5", {}, 700];
- let arrMap = arr.map(function (item, index, arr) {
- let number = parseInt(item);
- return isNaN(number) ? item : number;
- });
- console.log(arrMap);
- }
- // array reduce
- {
- let arr = ["0", 5, 3, "string", null];
- let result = arr.reduce(function (previousValue, currentValue) {
- if (typeof (currentValue) === 'number') {
- previousValue *= currentValue;
- };
- return previousValue
- }, 1)
- alert(result);
- }
- // object filter
- {
- let phone = {
- brand: "meizu",
- model: "m2",
- ram: 2,
- color: "black",
- };
- function filter(object, func) {
- for (let key in object) {
- if (!func(key, object[key])) {
- delete object[key];
- }
- }
- return object;
- }
- console.log(filter(phone, (key, value) => key == "color" || value == 2));
- }
- // object map
- {
- function map(object, func) {
- const fields = [];
- for (let key in object) {
- fields.push(func(key, object[key]));
- }
- return Object.assign({}, ...fields);
- }
- console.log(
- map({ name: "Иван", age: 17 }, function (key, value) {
- let result = {};
- result[key + "_"] = value + "$";
- return result;
- })
- );
- }
- //sum recursion
- {
- function sum(n) {
- if (n === 0) {
- return 0
- } else {
- return n + sum(n - 1);
- }
- }
- console.log(sum(100));
- }
|