Wpis z mikrobloga

Uczę się JS i mam taki kod:

var map = mapArray();
var bufor = map;

mapArray() zwraca pewną tablicę.
Czy podczas przypisania bufor = map tworzona jest nowa kopia tej tablicy czy przekazywany jest tylko wskaźnik? Jak edytuję tablicę bufor to edytuje się też map?

#javascript
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@PanBeton: Przekazywana jest referencja do tej tablicy, czyli obie zmienne wskazują na ten sam obiekt. Jeżeli tablica ta jest niemultowalna, a zakładam że to zwykła tablica, więc nie, to modyfikując tablicę używając jednej zmiennej zmodyfikujesz też to, co widać pod drugą, bo jest to ten sam obiekt. PS sprawdzenie tego zajęłoby ci szybciej niż napisanie posta
  • Odpowiedz
@Marmite: A da się jakoś szybko przekopiować taką tablicę? W moim przypadku po prostu użyłem bufor = mapArray();, ale nie jest to najszybsze rozwiązanie. Ewentualnie pętla przepisująca pewnie by zadziałała, ale może istnieje jakiś krótszy zapis?
  • Odpowiedz