Через for проходиться считается плохой практикой, вроде как. То есть, если тебе нужно просто перебрать массив, то есть forEach, и лучше его использовать. А for для других целей, не обязательно связанных с массивами
такой вопрос, если скажем мне не нужен аргумент item, а нужен только i, к примеру arr.forEach(function(item, i){}), то item в любом случае должен быть записан?