Advertisement
Timkor

codeWarsFilterList

Jan 21st, 2021
744
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script src="https://zero.p2p.shpp.me/console.js"></script>
  2. <script>
  3. // Codewars завдання про фільтрування масиву
  4.  
  5. // Тут ви створите функцію, яка отримує список невід'ємних цілих чисел і рядків,
  6. // а повертає новий список тільки з числами, відфільтрованими від рядків.
  7.  
  8. // filter_list([1,2,'a','b']) == [1,2]
  9. // filter_list([1,'a','b',0,15]) == [1,0,15]
  10. // filter_list([1,2,'aasf','1','123',123]) == [1,2,123]
  11.  
  12. let myArray = [1,2,'aasf','1','12438',123]
  13.  
  14. function filter_list(l) {
  15.   for (let i = l.length; i >= 0; i--) {
  16.     if (typeof l[i] === 'string') { // console.log(typeof '1') === 'string';
  17.         l.splice(i,1);
  18.     }
  19.   }
  20.   return l
  21. }
  22.  
  23.  
  24. console.log(String(filter_list(myArray)))
  25.  
  26. /* додав пробілів, вирівняв індентацію, поставив крапку з комою.
  27.  Іменування функції звичніше у camelCase, ніж у snakeCase (filterList)
  28.  так розумію, що кодварс запропонував ім'я (наче є і там опція стилю),
  29.  ім'я параметру l ви можете також замінити на зручніше, це мається на увазі
  30.  l - list, не бачу причини
  31.  скорочувати.
  32.  
  33.  На мою думку яка штука з цими "готовими з коробки" функціями типу splice - вони
  34.  класно працюють, але не дуже прокачують. Якби ви написали без неї, то як?
  35.  Чи створювали б ви ще одни масив? Чи може обійшлися б одним? Як думаєте,
  36.  що "під капотом" у splice? Корисно для прокачки вміти реалізувати такий
  37.  "підкапотний" алгоритм самостійно.
  38.  
  39. Те що ви кодите на кодварс дає вам можливість отримати доступ до рішень
  40. інших програмістів - топові звичайно будуть незрозумілі, і це норм, тому
  41. раджу пролистати до тих, де не буде незнайомих операторів, і почитати код,
  42. порівняти підходи.
  43.  
  44. */
  45.  
  46. </script>
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement