Безплатно! Онлайн събитие: 5-дневно ChatGPT предизвикателство Регистрация тук.
Решение: Търсене и промяна в масив
Пълен достъп до курса: Не
За пълен достъп или безплатна проба (2 модула), моля влезте или се регистрирайте.
Най-важното: не променяй масив, докато го обхождаш
Когато обхождаш масив и едновременно го променяш (например с премахване на елементи), можеш неволно да пропуснеш част от тях. Причината е, че методи като forEach не „знаят“, че масивът е пренареден по време на обхождането. Решението е да обхождаш копие на масива, а да променяш оригинала.
Стъпка по стъпка: безопасно търсене и изтриване по ID
- Създай масив от обекти (хора с
nameиid), като част от ID-тата се повтарят. - Създай функция, която приема ID и трябва да премахне всички хора с това ID.
- Направи копие на масива с
slice(), за да запазиш първоначалното състояние и да избегнеш проблеми с референции. - Обходи копието с
forEach(). - При съвпадение на ID използвай
indexOf(), за да намериш актуалния индекс в оригиналния масив. - Премахни елемента от оригинала със
splice().
Така гарантираш, че няма да пропуснеш елемент заради пренареждане на индексите.
Използвани методи
slice()– създава копие на масив. Полезен при работа с референции.forEach()– обхожда всички елементи в масив.splice(index, count)– премахва елементи от масив по индекс.indexOf()– намира текущия индекс на даден елемент в масива.
Този подход е ключов при работа с масиви от обекти и предотвратява трудни за откриване логически грешки.