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

javascript, nazywanie zmiennych

Object Storage Arubacloud
0 głosów
364 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 (212,670 p.)

funkcja eval()

i  tablice

Nie wierzę, że on to napisał. 

komentarz 9 listopada 2017 przez Milesq 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,660 p.)
1
komentarz 9 listopada 2017 przez Ehlert Ekspert (212,670 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 Milesq 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,660 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 423 wizyt
0 głosów
1 odpowiedź 229 wizyt
pytanie zadane 21 czerwca 2022 w C i C++ przez tymek112 Obywatel (1,530 p.)
0 głosów
6 odpowiedzi 1,088 wizyt
pytanie zadane 8 września 2018 w JavaScript przez Meffy Użytkownik (730 p.)

92,555 zapytań

141,404 odpowiedzi

319,557 komentarzy

61,940 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...