js反转数组为什么会少一个数?

问题遇到的现象和发生背景

我写的反转数组的代码,运行之后发现总是少了最后一个数

用代码块功能插入代码,请勿粘贴截图
        function reverse(arr){
            var newArr=[];
            for (var i=arr.length-1;i>=0,i--;) {
                newArr[newArr.length]=arr[i];
            }
            return newArr;
        }
        
        console.log(reverse([3,9,12,5,8,19]));
运行结果及报错内容

[8, 5, 12, 9, 3]

我的解答思路和尝试过的方法

我发现for循环里用arr.length可以输出6个数字。但是数组下标最大不就是arr.length-1吗?然后我又去看了执行过程,发现好像是先执行了i--然后执行了循环体

我想要达到的结果

我想问一下出现这种情况的原因在哪?是不是我写的不对?

for (var i=arr.length-1;i>=0;i--)

循环条件应该有三个分号吧