Guest User

Untitled

a guest
Apr 22nd, 2018
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. <html>
  2.  
  3. <body>
  4. <div id="cnt"></div>
  5. </body>
  6.  
  7. <script>
  8. /*
  9. Приходит список хешей.
  10. [
  11. {id:1, name:'имя', date:[ { from:'2018-01-03' },{ from:'2018-01-05 },{ from:'2018-01-12} ]},
  12. {id:2, name:'ями', date:[ { from:'2017-01-03' },{ from:'2017-01-05 },{ from:'2016-01-12} ]}
  13. ]
  14. Выводить таблицу, в которой будет отображена только самая свежая дата для каждой записи.
  15. +---+------+------------+
  16. |ID | NAME | PAUSE |
  17. +---+------+------------+
  18. |6 | имя | 2018-01-02 |
  19. |7 | ями | 2018-01-02 |
  20. +---+------+------------+
  21. */
  22.  
  23. /* Данные. */
  24. var rows =
  25. [
  26. {
  27. id: "6",
  28. name: "Strategy One",
  29. pause: [
  30. { from:'2018-01-03' },
  31. { from:'2018-01-02' },
  32. { from:'2018-01-04' }
  33. ]
  34. },
  35. {
  36. id: "7",
  37. name: "Strategy Two",
  38. pause: [
  39. { from:'2018-01-04' },
  40. { from:'2018-01-03' },
  41. { from:'2018-01-05' }
  42. ]
  43. }
  44. ];
  45.  
  46. /* Функция для получения актуальной даты */
  47.  
  48. function first_date(hash) {
  49. var dates = [];
  50. hash.pause.forEach( function(l) { dates.push(l.from); });
  51. dates.sort();
  52. return dates[0];
  53. }
  54.  
  55. function _td(str) { return '<td>' + str + '</td>'; }
  56. function _tr(str) { return '<tr>' + str + '</tr>'; }
  57.  
  58. /* Шапка */
  59. var cnt = '<tr><td>ID</td><td>NAME</td><td>PAUSE</td></tr>';
  60.  
  61. /* Информация с актуальной датой */
  62. rows.forEach( function(row) { cnt += _tr( _td(row.id) + _td(row.name) + _td( first_date(row) ) ); });
  63.  
  64. /* Напечатаем актуальную информацию на экран */
  65. document.getElementById("cnt").innerHTML = '<table width="30%">' + cnt + '</table>';
  66.  
  67. </script>
  68.  
  69. </html>
Add Comment
Please, Sign In to add comment