array JS

Witam.

Dzisiaj przyszedł upragniony czas, gdy w końcu opiszę tutaj jakiś problem programistyczny. A mianowicie tablicę w JS vs IE7. Całkiem nie tak dawno walczyłem z wyświetlaniem danych z tablicy obiektów JS. Dane do JS przekazywane były z bazy danych z wykorzystaniem TWIGa, więc przykładowy kod wygląda następująco:

<script type="text/javascript">
    var array = [
        {% for value in dbData %}

        {'id': '{{ value.id }}', 'name': '{{ value.name }}' },

        {% endfor %}
    ];
 </script>

Jaki mamy tutaj problem? Na pierwszy rzut oka – żadnego. Aczkolwiek problem zaczął pojawiać się, gdy stronę zaczęto sprawdzać pod IE7 i IE8. Na tych przeglądarkach okazało się, że funkcja length wywołana na naszej tablicy zwraca na wymienionych wcześniej przeglądarkach liczbę o jeden większą, niż mamy tam faktycznych elementów. Dlaczego tak się działo? Z pomocą przychodzi nam standard języka JavaScript: w JavaScript tworząc tablicę nie dajemy przecinka po ostatnim elemencie. Proste rozwiązanie, które mimo wszystko może sprawić odrobinę problemów osobie które dopiero poznaje tajniki JavaScript.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*