Jak nazwać prawidłowo zmienną w petli foreach?

0
for (category in categoriesList) {
 ..... categoriesList[category}.Name
}

Jak nazwać prawidłowo zmienną w petli foreach? Czy tak jak jest to jest ok czy lepiej może index?

1

Nazwy zmiennych powinny być znaczące -- jest zmienna przechowuje kategorię, to category, a jeśli jeśli jej indeks to może categoryIndex...? Ale ja bym został przy category w dłuższym zapisie, a wkrótszym po prostu i...

0

Możesz nazwać index jeśli zamiast categoriesList będziesz miał indices.

1
somekind napisał(a):

Możesz nazwać index jeśli zamiast categoriesList będziesz miał indices.

ZTCW to for..in interuje po kluczach/ indeksach, a for..of iteruje po wartościach/ elementach.

1

Jak chcesz iterować po indeksach tablicy to albo klasyczna pętla for:

for (let i = 0; i < categories.legth; i++) {
  // ...
}

albo forEach, np:

categories.forEach((_, index) => {
  // ...
})

Uwaga: Powyższe nie działają identycznie jeśli masz tablicę "z dziurami", czego w porządnym kodzie mieć nie powinieneś.


for .. in nie służy do iterowania po indeksach tablicy: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in#Array_iteration_and_for...in


A tak w ogóle to z Twojego przykładu wynika, że potrzebne jest Ci raczej iterowanie po wartościach tablicy, czyli albo:

for (category of categories) {
  // ...
}

albo:

categories.forEach((category) => {
  // ...
})

albo najlepiej (jeśli przekształacasz tablicę) to map (lub inna metoda zwracająca nową tablicę):

const someResult = categories.map((category) => {
  // ...
})

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