Я согласен с комментарием Федерико, в данном случае наиболее читаемым является сингл для l oop.
Кроме того, даже если вы повторно его используете, нет особого смысла извлекать a.length в aLength
const a = [3];
for(let i = 0; i < a.length; i++) {
func(i);
}
function func(position) {
console.log('hi' + position);
}
Предупреждение: очень личная перспектива, вы также можете достичь такого же уровня ясности и с комментариями.
Ну, если только в случае с одним элементом нет очень специфического c значения в вашем домене. В этом случае я бы разделил их двумя функциями с очень конкретными c именами следующим образом:
const a = [3];
if(a.length > 1) {
handleMultiple(a);
} else {
handleSingleAndWhyItIsASpecialCase(a)
}
handleMultiple(array) {
for(let i = 0; i < array.length; i++) {
func(i);
}
}
handleSingleAndWhyItIsASpecialCase(array) {
func();
}
function func(position = 0) {
console.log('hi' + position);
}
Как сказал Хамид ниже, вы можете легко превратить его в oneliner:
[45,63,77].forEach((element, index) => console.log(index));
Попробуйте использовать forEach вместо map, чтобы прояснить свои намерения.