Javascript中如何删除数组中指定元素后形成新的数组

例如数组 arr[0]=1 arr[1]=0 arr[2]=11 arr[3]=54 arr[4]=6 arr[5]=0 arr[6]=0将数组中等于0的元素都删除,是素组变成arr[0]=1 arr[1]=11 arr[2]=54 arr[3]=6 ?
最新回答
一身傲气怎能服输

2025-06-21 00:07:26

window.onload = function () {
    var arr = [1, 0, 11, 54, 6, 0, 0]; ;
    for (var i = arr.length - 1; i > -1; i--) {
        if (arr[i] == 0) {
            arr.splice(i, 1);//参数(删除的元素下标,从该下标起删除几个元素)
        }
    }
    for (var i = 0; i < arr.length; i++) {
        alert(arr[i]);
    }
}
自古女子多痴情深

2025-06-21 00:05:24

var sourceArray = [1,2,0,0,0,0,6];//原数组对象

var newArray = [];//定义新的空数组对象
for(var i=0;i<sourceArray.length;i++){
if(sourceArray[i] != 0){//过滤要去除的数组内容
newArray.push(sourceArray[i]);//填充到新数组对象中
}
}
alert(newArray);//显示结果
薄荷心凉

2025-06-21 00:01:21

定义和用法

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

注释:该方法会改变原始数组。

语法
arrayObject.splice(index,howmany,item1,.....,itemX)

具体参考:
http://www.w3school.com.cn/jsref/jsref_splice.asp
红尘烟雨

2025-06-21 00:05:25

var arr1=[1,2,0,4,0,6,7,0,9];
var arr2=[];
function deleteZero(arr){
for(var i=0,len=arr.length;i<len;i++){
if(arr[i]!=0){
arr2.push(arr[i])
}
}
return arr2;
}
deleteZero(arr1) //返回[1, 2, 4, 6, 7, 9]
全幼儿园最可爱

2025-06-21 00:04:40

建议新建一个数组,将原数组中非零值赋给新数组,这样新数组就是你想要的了