怎么把二用for循环变成0

img

img


怎么用for循环把2变成0 尝试了很久一直没用成功有会的能给下建议或者帮助吗谢谢

var arr=[1,2,3,4,2,5,6,2,7,2]
var newArr=[];
for(var i=0;i<arr.length;i++){
if(arr[i]==2){
newArr[i]=0
}else{
newArr[i]=arr[i]}
}
console.log(newArr)

img

let arr=[1,2,3,4,2,5,6,2,7,2]
arr.forEach((item, index) => {
  item === 2 ? arr[index] = 0 : '';
})
console.log(arr)

为啥要重新定义一个newArr,直接修改arr的值不行吗?

img


var arr =[1,2,3,4,2,5,6,2,7,21];
var arr1=new Array();
console.log('替换前->',arr);
for(var i=0;i<arr.length;i++){
    if(arr[i]==2){
        arr1.push(0);
        arr[i]=0;
    }
}
console.log('替换后->',arr);
console.log('只显示0的->',arr1);