Wpis z mikrobloga

@cevilo: @larvaexotech: jakby tam faktycznie był porównania do tej zmiennej to bym się nie czepiał. Ale rozważ taki przypadek: chcesz sprawdzić czy zmienna variable spełnia jeden z poniższych warunków:
a) jest jednym z "value1", "value2", "value3", "value4", "value5", "value6", "value7";
b) jest jednym z "value1", "value2", "value3", "value4", "value5" i isActive jest prawdziwe.
Ja to zrobię tak:
let values = ["value1", "value2", "value3", "value4", "value5", "value6", "value7"];
let index =
  • Odpowiedz
via Android
  • 0
@cevilo: wydaje Ci się to dziwne, bo pewnie w języku, w którym piszesz na co dzień są do tego inne funckje, w JS robimy to tak. Nie wiem skąd Twoje zdziwienie, że tablica nie zastępuje ifa? Pokaż proszę jakbyś to rozwiązał na switchu, będzie nam łatwiej porównać.
  • Odpowiedz
@cevilo: masz rację, za dużo edytowałem i warunki wyszły złe ( ͡ ͜ʖ ͡) Poprawka:
a) jest jednym z "value1", "value2", "value3", "value4", "value5", "value6", "value7" i isActive jest nieprawdziwe
b) jest jednym z "value1", "value2", "value3", "value4", "value5" i isActive jest prawdziwe.
Stworzyłem plunkera i dodałem testy, żeby nie zdawać się na naszą intuicję ;)
http://plnkr.co/edit/RiZnD7Ph9gLodJSAkWkv?p=preview
Podmień algorytm funkcji na swoją wersję, proszę.
  • Odpowiedz
@cevilo: link podałem wyżej, wejdź w script.js i masz tam kod. Odpowiednia struktura i "co dalej" jest ważne dla późniejszej edycji gdy dojdzie więcej warunków, a także czytelności kodu.
  • Odpowiedz
Szkoda mi czasu na dawanie darmowych lekcji.

@cevilo: zabawne :) Skoro taki banalny problem wymaga od Ciebie poświęcenia większej ilości czasu niż napisanie komentarza to pora przemyśleć własne metody.
  • Odpowiedz
@cevilo: napisałem wyżej, że dla 3 i większej ilości porównań tej samej zmiennej wolę to wrzucić do tablicy.

if (login == 'admin') then return true;

Co to w ogóle jest? W normalnym języku robisz po prostu:

return login == 'admin';

W Twojej wersji w np. JS dostałbyś undefined zamiast false.
Rozumiem, że Ty piszesz w Pascalu i płacą Ci za linie kodu? xD
Napiszesz w końcu rozwiązanie tego banalnego problemu? Może
  • Odpowiedz
@cevilo: haha, pozwól, że przedstawię jakby wyglądało to Twoje rozwiązanie, bo ktoś niezorientowany jeszcze pomyśli, że masz w jakimś stopniu rację ( ͡° ͜ʖ ͡°)
switch(type) {
case 'value1':
case 'value2:
case 'value3':
case 'value4':
case 'value5':
return true;
case 'value6':
case 'value7':
// tutaj gdzieś jeszcze jakiegoś ifa chciał dać magik ( ͡° ͜ʖ ͡°)
return !isActive;
default: return false;
}
I
  • Odpowiedz