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?
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?
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
...
Możesz nazwać index
jeśli zamiast categoriesList
będziesz miał indices
.
somekind napisał(a):
Możesz nazwać
index
jeśli zamiastcategoriesList
będziesz miałindices
.
ZTCW to for..in interuje po kluczach/ indeksach, a for..of iteruje po wartościach/ elementach.
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) => {
// ...
})