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 email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*