Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Przypisanie klucza do wartosci w tablicy
Forum PHP.pl > Forum > Przedszkole
kkuubbaa88
witam

w php można przypisać klucz do wartości w tablicy:
  1. $tab = array(10 => 'cos',24 => 'tam',38 => 'sobie',46 => 'jest');

czy można coś takiego samego zrobić w JS ?
nospor
Kod
tab = {10 : 'cos',24 : 'tam',38 : 'sobie',46 : 'jest'};
kkuubbaa88
jednak coś jest nie tak... próbowałem na wiele sposób, ale nie działa to poprawnie...
[JAVASCRIPT] pobierz, plaintext
  1. tablica = new Array(10 : 'cos', 100 : 'tam');
  2. tablica = [10 : 'cos', 100 : 'tam'];
  3. tablica = Array(10 : 'cos', 100 : 'tam');
  4. tablica = {10 : 'cos', 100 : 'tam'};
[JAVASCRIPT] pobierz, plaintext

jak to powinno poprawnie wyglądać ?
nospor
przecież napisałem ci jak to ma wyglądać. Po co wymyślasz inne kombinacje?
kkuubbaa88
ponieważ przy kombinacji, którą podałeś:
[JAVASCRIPT] pobierz, plaintext
  1. tablica = {10 : 'cos', 100 : 'tam'};
[JAVASCRIPT] pobierz, plaintext

dostaję komunikat:
invalid label
i podkreśla już przy pierwszym polu znak ':'
nospor
Kod
<script>
tab = {10 : 'cos',24 : 'tam',38 : 'sobie',46 : 'jest'};
console.log(tab);
</script>

Jakoś działa.
Wszędzie indziej gdzie to stosuję też działa.

Może pokaż co ty z tym robisz, jak i gdzie to może do czegoś dojdziemy.
kkuubbaa88
Na początku dokumentu .js deklaruję sobie zminną:
[JAVASCRIPT] pobierz, plaintext
  1. var tablica;
[JAVASCRIPT] pobierz, plaintext

następnie za pomocą ajaxa i obiektu XMLHttpRequestObject w php pobieram odpowiednie wartości z bazy i staram się przesłać w odpowiedzi tablicę. z pliku php do obiektu XMLHttpRequestObject przesyłam tekst:
[JAVASCRIPT] pobierz, plaintext
  1. {10 : 'cos', 100 : 'tam'}
[JAVASCRIPT] pobierz, plaintext

i teraz odbieram w JS i przerabiam na tablicę:
[JAVASCRIPT] pobierz, plaintext
  1. tablica = eval(XMLHttpRequestObject.responseText);
[JAVASCRIPT] pobierz, plaintext

wszystko działało bez przypisywania kluczy do wartości. jeżeli chcę podać wartość z odpowiednim kluczem, to niestety nie chodzi...
nospor
Tak to jest jak się nie wie co robi eval.

eval ma dostać poprawny kod js.

{10 : 'cos', 100 : 'tam'} nie jest kodem js
tab = {10 : 'cos', 100 : 'tam'} jest kodem js

nie: tab = eval('{10 : 'cos', 100 : 'tam'}');
a: eval("tab={10 : 'cos', 100 : 'tam'};");
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.