Это неправильный аналог forErch.
Сравните результаты с настоящим
<pre>
<script>
let ar = [1,2,,4,5,,6,,]
//Собсвенный цикл forEach
var each = function(arr, callback,thisArg) {
var i, length = arr.length;
for (i = 0; i < length; i = i + 1) {
callback.call(thisArg,arr[i], i, arr);
}
};
document.write('each : <br>')
each(ar, (x,i) => document.write(`${i} : ${x}<br>`))
document.write('<br>forEach : <br>')
ar.forEach ((x,i) => document.write(`${i} : ${x}<br>`))
</script>
</pre>