Pętla foreach – jak nazwać zmienną, która iteruje po obiektach?

0

Jeśli piszę foreacha w javascripcie to jak nazwać zmienną, która iteruje np po obiektach Samochody?

for (samochod in samochody) {

Nazwać ją samochód czy inaczej aby to był dobre wzorce programowania?

2

Jak chcesz ładnie napisać to powinno być tak:

for (car in cars) { ... }
1
Krwawy Wąż napisał(a):

Jeśli piszę foreacha w javascripcie to jak nazwać zmienną, która iteruje np po obiektach Samochody?

Iterator. :P

Pisz kod w całości po angielsku – mieszanka co najmniej dwóch języków to zawsze zły pomysł.

0

To najlepiej napisać tak:

for (car in cars) { ... }

Czy tą zmienną car powinno się inaczej nazwać?

0

Jest dobrze. Od razu wiadomo, co przechowuje zmienna.

0

Zależy jak wygląda ten obiekt, a w ogóle to Object.keys(obj).map / Object.keys(obj).forEach ;)

0

Bo póżniej jeśli odwołujemy się do danego cara to tak to dobrze wygląda?:

for (car in cars) { 
let speedCar = cars[car].Speed;
 }
0

Nie znam JS ale skoro masz już pojedynczy obiekt car to nie możesz zrobić tak?

for (car in cars) {
	let carSpeed = car.Speed; // carSpeed brzmi lepiej, choć może wystarczy samo speed.
}
2
atmal napisał(a):

Nie znam JS ale skoro masz już pojedynczy obiekt car to nie możesz zrobić tak?

for (car in cars) {
	let carSpeed = car.Speed; // carSpeed brzmi lepiej, choć może wystarczy samo speed.
}

Masz rację. Nie znasz JS (ale to żaden wstyd, o ile tylko w nim nie piszesz).

for .. in .. w JS iteruje po indeksach.
Dlatego powinno być:

for (const index in cars) { 
          let car = cars[index];
          ....
 }

Jeśli kogoś denerwuje, że zmienna się nazywa index, a nie carIndex... i może się pomylić z innym indexem:
a) jak będziecie mieli taki wyjątkowy przypadek, że w jednej funkcii są dwa indeksy, to je sobie wtedy nazwiecie,
b) jesli to nie jest wyjątek i często macie kilka indeksów w funkcji to jesteście chorzy.

Przy okazji for .. in .. jest w JS bardzo zaskakujące - nie tylko dla javowca/C++/C#. To, że iteruje po indeksach to tylko jeden z ficzerów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1