main.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. // var persons = [
  2. // { name: "Иван", age: 17 },
  3. // { name: "Мария", age: 35 },
  4. // { name: "Алексей", age: 73 },
  5. // { name: "Яков", age: 12 },
  6. // ]
  7. // const sort = (obj, param, ascending = true) => obj.sort((a, b) => ascending ? (a[param] > b[param] ? 1 : -1) : (a[param] < b[param] ? 1 : -1))
  8. // // console.log(sort(persons, "name", false)); //сортирует по имени по убыванию
  9. // // console.log(sort(persons, "age", true)); //сортирует по возрасту по возрастанию
  10. // let arrayMap = ["1", {}, null, undefined, "500", 700]
  11. // let newArray = arrayMap.map(t => t === String(t) ? +t : t)
  12. // let arrayrReduce = ["0", 5, 3, "string", null]
  13. // let newarrayrReduce = arrayrReduce.reduce((a = 0, b) => typeof b === 'number' ? a * b : a, 1)
  14. // var phone = {
  15. // brand: "meizu",
  16. // model: "m2",
  17. // ram: 2,
  18. // color: "black",
  19. // };
  20. // function filter(obj, callback) {
  21. // let result = {}
  22. // for (const [key, value] of Object.entries(obj)) {
  23. // if (callback(key, value)) {
  24. // result[key] = value
  25. // }
  26. // }
  27. // return result
  28. // }
  29. // filter(phone, (key, value) => key == "color" || value == 2)
  30. // function map(obj, callback) {
  31. // let result = {}
  32. // for (const [key, value] of Object.entries(obj)) {
  33. // result = { ...result, ...callback(key, value) }
  34. // }
  35. // return result
  36. // }
  37. // map({ name: "Иван", age: 17 }, function (key, value) {
  38. // var result = {};
  39. // result[key + "_"] = value + "$";
  40. // return result;
  41. // }) //должен вернуть {name_: "Иван$", age_: "17$"}
  42. // const arProgression = n => n <= 1 ? 1 : n + arProgression(n - 1)
  43. var someTree = {
  44. tagName: "table", //html tag
  45. children: [ //вложенные тэги
  46. {
  47. tagName: "tr",
  48. children: [
  49. {
  50. tagName: "td",
  51. text: "some text",
  52. },
  53. {
  54. tagName: "td",
  55. text: "some text 2",
  56. }
  57. ]
  58. }
  59. ],
  60. attrs:
  61. {
  62. border: 1,
  63. },
  64. }
  65. let table = ''
  66. walk(someTree)
  67. function walk(obj) {
  68. debugger
  69. for (var deep in obj) {
  70. if (typeof (obj[deep]) === 'object') {
  71. walk(obj[deep]);
  72. } else {
  73. if (deep === 'tagName') {
  74. table += `<${obj[deep]}>`
  75. } else if (deep === 'text') {
  76. table += `${obj[deep]}`
  77. }
  78. }
  79. }
  80. }
  81. document.write(table)