Guest User

Untitled

a guest
Jun 21st, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.10 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Classwork Arrays</title>
  6.  
  7.  
  8. </head>
  9. <body>
  10.  
  11. <script>
  12.  
  13. /*
  14. Задание:
  15. 1. При помощи методов изложеных ниже, переформатировать ITEA_COURSES в массив который содержит длину строк каждого из элементов.
  16. 2. Самостоятельно изучить метод Array.sort. Отфильтровать массив ITEA_COURSES по алфавиту.
  17. + Бонусный бал. Вывести на страничку списком
  18. 3. Реализация функции поиска по массиву ITEA_COURSES.
  19. + Бонусный бал. Вывести на страничку инпут и кнопку по которой будет срабатывать поиск.
  20. */
  21.  
  22. const ITEA_COURSES = ["Курс HTML & CSS", "JavaScript базовый курс", "JavaScript продвинутый курс", "JavaScript Professional", "Angular 2.4 (базовый)", "Angular 2.4 (продвинутый)", "React.js", "React Native", "Node.js", "Vue.js"];
  23. let iteaElemLength = ITEA_COURSES.map(function(course) {
  24. return course.length;
  25. });
  26. console.log( iteaElemLength );
  27.  
  28. let iteaElemSortByAlp = ITEA_COURSES.sort();
  29. document.body.innerHTML = `
  30. <div id='result2'>
  31. <ol>
  32. ${iteaElemSortByAlp.map( (item) => `<li>${ item }</li>` )}
  33. </ol>
  34. </div>
  35. <div id="result3">
  36.  
  37. </div>
  38. <div id="resultMovies">
  39.  
  40. </div>
  41. `;
  42. console.log( iteaElemSortByAlp );
  43.  
  44.  
  45.  
  46. result3.innerHTML = `
  47. <input type="text" id="input"/>
  48. <button id="btn" type="button">FIND</button>
  49. <div id="course">
  50.  
  51. </div>
  52. `;
  53. const INP = document.getElementById('input');
  54.  
  55. btn.addEventListener('click', function() {
  56. ITEA_COURSES.forEach(function(elem) {
  57. if ( INP.value == elem ) {
  58. course.innerHTML = `
  59. <ul>
  60. <li>${ elem }</li>
  61. </ul>
  62. `;
  63. } else {
  64. console.log( 'This course not found' );
  65. };
  66. });
  67. INP.value = '';
  68. });
  69.  
  70. /*
  71. Задание 2:
  72. Написать фильтр массива по:
  73. Актеру, продолжительности
  74.  
  75. Бонус:
  76. Сделать графическую оболочку для программы:
  77. - Селект со списком актеров
  78. - Селект или инпут с продолжительностью
  79. - Результат в виде списка фильмов
  80. */
  81.  
  82. var stars = ['Elijah Wood', 'Ian McKellen', 'Orlando Bloom','Ewan McGregor', 'Liam Neeson', 'Natalie Portman', 'Ewan McGregor', 'Billy Bob Thornton', 'Martin Freeman']
  83. var movies = [
  84. {
  85. name: "Lord of the Rigs",
  86. duration: 240,
  87. starring: [ 'Elijah Wood', 'Ian McKellen', 'Orlando Bloom']
  88. },
  89. {
  90. name: "Star Wars: Episode I - The Phantom Menace",
  91. duration: 136,
  92. starring: [ 'Ewan McGregor', 'Liam Neeson', 'Natalie Portman']
  93. },
  94. {
  95. name: "Fargo",
  96. duration: 100,
  97. starring: [ 'Ewan McGregor', 'Billy Bob Thornton', 'Martin Freeman']
  98. },
  99. {
  100. name: "V for Vendetta",
  101. duration: 150,
  102. starring: [ 'Hugo Weaving', 'Natalie Portman', 'Rupert Graves']
  103. }
  104. ];
  105.  
  106. resultMovies.innerHTML = `
  107. <select name="Films" id="films" onchange="actorsInMovies()">
  108.  
  109. </select>
  110. <div id="filmsContainer">
  111. <ul id="listOfActors"></ul>
  112. </div>
  113. `;
  114.  
  115. stars.forEach(function(elem) {
  116. let option = new Option(elem);
  117. films.appendChild(option);
  118. });
  119.  
  120.  
  121.  
  122. function actorsInMovies() {
  123. let selectedActor = films.value;
  124. listOfActors.innerHTML = null;
  125.  
  126. movies.forEach(function(currentObj) {
  127. currentObj.starring.forEach(function(actor) {
  128. if (selectedActor == actor) {
  129. let li = document.createElement('li');
  130. listOfActors.appendChild(li);
  131. li.innerText = currentObj.name;
  132. };
  133. });
  134. });
  135. };
  136.  
  137. function durationOfMovies() {
  138.  
  139. };
  140. </script>
  141. </body>
  142. </html>
Add Comment
Please, Sign In to add comment