main.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. // sort
  2. {
  3. var persons = [
  4. { name: "Иван", age: 17 },
  5. { name: "Мария", age: 35 },
  6. { name: "Алексей", age: 73 },
  7. { name: "Яков", age: 12 },
  8. ]
  9. function sort(arr, type, bool = true) {
  10. return arr.sort((a, b) => {
  11. let result;
  12. if (bool) {
  13. console.log('true')
  14. result = a[type] > b[type] ? 1 : -1;
  15. } else {
  16. console.log('false')
  17. result = a[type] < b[[type]] ? 1 : -1;
  18. }
  19. return result
  20. })
  21. }
  22. console.log(sort(persons, 'name', false))
  23. }
  24. // array map
  25. {
  26. let arr = ["20", null, undefined, "5", {}, 700];
  27. let arrMap = arr.map(function (item, index, arr) {
  28. let number = parseInt(item);
  29. return isNaN(number) ? item : number;
  30. });
  31. console.log(arrMap);
  32. }
  33. // array reduce
  34. {
  35. let arr = ["0", 5, 3, "string", null];
  36. let result = arr.reduce(function (previousValue, currentValue) {
  37. if (typeof (currentValue) === 'number') {
  38. previousValue *= currentValue;
  39. };
  40. return previousValue
  41. }, 1)
  42. alert(result);
  43. }
  44. // object filter
  45. {
  46. let phone = {
  47. brand: "meizu",
  48. model: "m2",
  49. ram: 2,
  50. color: "black",
  51. };
  52. function filter(object, func) {
  53. for (let key in object) {
  54. if (!func(key, object[key])) {
  55. delete object[key];
  56. }
  57. }
  58. return object;
  59. }
  60. console.log(filter(phone, (key, value) => key == "color" || value == 2));
  61. }
  62. // object map
  63. {
  64. function map(object, func) {
  65. const fields = [];
  66. for (let key in object) {
  67. fields.push(func(key, object[key]));
  68. }
  69. return Object.assign({}, ...fields);
  70. }
  71. console.log(
  72. map({ name: "Иван", age: 17 }, function (key, value) {
  73. let result = {};
  74. result[key + "_"] = value + "$";
  75. return result;
  76. })
  77. );
  78. }
  79. //sum recursion
  80. {
  81. function sum(n) {
  82. if (n === 0) {
  83. return 0
  84. } else {
  85. return n + sum(n - 1);
  86. }
  87. }
  88. console.log(sum(100));
  89. }