• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

javascript, nazywanie zmiennych

0 głosów
975 wizyt
pytanie zadane 9 listopada 2017 w JavaScript przez turtelian Obywatel (1,760 p.)

Witam ponownie natknalem sie na pewnie banalny problem ale o dziwo nigdzie w dokumentacji nie moge tego znaleźć! Otóż chcę nazwać zmienną przy pomocy nazwy innej zmiennej np chce utworzyc 1000 zmiennych cos ala liczba1,liczba2,liczba3...itd. Jak polaczyc nazwe zmiennej (liczba) z drugą zmienna w tym wypadku licznikiem( i)?
 

for(var i=0;i<length;i++){
   var liczba+'i'= digits.slice(i,(i+4));
   
   }

 

komentarz 9 listopada 2017 przez Ehlert Ekspert (215,230 p.)

funkcja eval()

i  tablice

Nie wierzę, że on to napisał. 

komentarz 9 listopada 2017 przez jkdfklgdf Nałogowiec (32,020 p.)
dlaczego

jest to rozwiązanie

złe bo złe, niebezpieczne bo niebezpieczne ale jest
komentarz 9 listopada 2017 przez shotokan Nałogowiec (39,640 p.)
1
komentarz 9 listopada 2017 przez Ehlert Ekspert (215,230 p.)

złe bo złe, niebezpieczne bo niebezpieczne ale jest

Z takim podejściem możesz pracować w IT, ale nie będziesz programistą. 

komentarz 9 listopada 2017 przez jkdfklgdf Nałogowiec (32,020 p.)

Wiem że to złe podejście i go nie popieram

do takich akcji są stworzone tablice angry

pokazuję tylko rozwiązania jakie są

jedyny mój błąd to to że nie napisałem na początku że rozwiązanie jest przestarzałe. nie chciałem wywołać żadnej "wojny" na forum tylko pokazać rozwiązanie  tematu

 

2 odpowiedzi

+6 głosów
odpowiedź 9 listopada 2017 przez niezalogowany
wybrane 9 listopada 2017 przez turtelian
 
Najlepsza

Otóż chcę nazwać zmienną przy pomocy nazwy innej zmiennej np chce utworzyc 1000 zmiennych cos ala liczba1,liczba2,liczba3...itd

ale o dziwo nigdzie w dokumentacji nie moge tego znaleźć!

Nie możesz znaleźć, ponieważ w takim wypadku używa się tablic

Na siłę.. by się dało..

1. eval - zaciemnia kod, zmniejsza wydajność, obniża bezpieczeństwo - zdecydowanie odradzam

for (let i = 0; i < 10; i++) {
	eval(`var liczba${ i } = ${ i * 10}`)
}

2. Edycja danego kontekstu (this) - W kontekście window tworzy zmienną globalną - zdecydowanie odradzam

for (let i = 0; i < 10; i++) {
	this[`liczba${ i }`] = i * 10
}

Każda z powyższych opcji jest zła i nie ma prawa bytu.

 

Jeśli użycie tablicy rzeczywiście powoduje "szereg innych problemów" - opisz je tutaj, a na pewno pomożemy

komentarz 9 listopada 2017 przez turtelian Obywatel (1,760 p.)
juz sobie poradzilem, i faktycznie dalo sie wiekszosc problemow o ktorych myslalem ominac
1. po pierwsze potrzebna byla 2ga tablica ktora byla odpowiednikiem pierwszej ale z Intami zamiast pociachanym stringiem(czyli w petli parseInt dla kazdego elementu tablicy+ stworzenie dodatkowej tablicy, a takto by byla jedna petla z zmiennymi i parse int robione w "locie"), a pozniej dopiero wybor odpowiedniego elementu.
Chyba tyle po prostu myslalem ze musi być łatwe i schludne rozwiazanie tego problemu w taki sposob jak opisalem, okazalo sie ze nie wiec dalem sobie rade z tablicami.
komentarz 9 listopada 2017 przez niezalogowany
Przedstaw problem, wydaję mi się, że można by to rozwiązać ładniej
komentarz 9 listopada 2017 przez turtelian Obywatel (1,760 p.)
rozwiazalem ladniej zrobilem . Tutaj napisalem jakie problemy "widzialem" przed, generalnie funckja otrzymuje parametr w postaci stringa z samych cyfr np "238927534039" i teraz mam za zadanie wrocic ciag 5 cyfr ktory tworzy najwieksza liczbe w postaci inta  w tym wypadku 92753,
naszczescie Funckja mathmax automatycznie konwertuje stringi na inty, co rozwiazuje wiekszosc problemow, wystarcza wtedy jedna tablica i wszystko dziala jak powinno.
Problem juz dawno rozwiazany. Dzieki za pomoc

Inna sprawa że ciekawy mnie to że osoby bawiace sie programowaniem w wiekszosci nie potrafia czytac ze zrozumieniem ew specjalnie odpowiadaja nie na zadane pytanie aby leczyc kompleksy tylko ty napisałes to sensownie("tak da sie w taki i taki sposob ale nie powinno sie"), reszta "hurdur co to za i tak sie nie pisze hur dur uzyj tablicy"
0 głosów
odpowiedź 9 listopada 2017 przez TheFlashes Obywatel (1,580 p.)
var liczba+'i'

Co to za czary? :O

Tak jak już poprzednicy pisali, użyj tablic.

komentarz 9 listopada 2017 przez turtelian Obywatel (1,760 p.)
wlasnie o to pytam jak to zrobic, ok moge uzyc tablic ale w tym przypadku przez to musze tworzyc dodatkowa tablice i nastepuje szereg innych problemow
a nikt dalej nie odpowiedzial czy sie da tak zrobic jak chcialem czy nie, bez powodu bym o to nie pytal
komentarz 9 listopada 2017 przez shotokan Nałogowiec (39,640 p.)
A jakie problemy widzisz w używaniu tablic? Skoro wolisz mieć np. 100 zmiennych w kodzie zamiast jednej tablicy...na pewno Twój skrypt będzie w pełni zoptymalizowany.

Podobne pytania

0 głosów
3 odpowiedzi 686 wizyt
0 głosów
1 odpowiedź 556 wizyt
pytanie zadane 21 czerwca 2022 w C i C++ przez tymek112 Obywatel (1,550 p.)
0 głosów
6 odpowiedzi 1,476 wizyt
pytanie zadane 8 września 2018 w JavaScript przez Meffy Użytkownik (730 p.)

93,733 zapytań

142,669 odpowiedzi

323,287 komentarzy

63,293 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...