js删除数组中元素 delete 和splice的区别

时间:2023-02-06 21:27:21

例如我有一个数组: var array = ["aa","dd","cc","aa"] ,我想删除这个数组的“dd”元素,那么我们应该怎么办呢?

定义一个输出数组元素的方法

 //输出数组中的元素
  var getArray = function(array){
        //循环数组元素
        for(var i=0;i<array.length; i++)
        {
            console.log("第"+ (i+1) +"个元素:"+ array[i]);    
        }        
    }

方法1:用delete 删除数组中元素

//定义数组
var array=["aa","dd","cc","aa"];
//方法1:delete删除数组元素
delete array[1];
//输出结果 : ["aa",undefined,"cc","aa"]
getArray(array);

结果视图如下:

js删除数组中元素 delete 和splice的区别

方法2:用splice删除数组的元素

   var array = ["aa","dd","cc","aa"];
   //方法2:删除数组元素
    array.splice(1,1);
   //输出结果:["aa","cc","aa"]
   getArray(array);

结果视图:

js删除数组中元素 delete 和splice的区别

 

2、delete 和splice方法的区别

1)delete: 只是被删除的元素变成了 undefined 其他的元素的键值还是不变。

2) splice: 该方法会改变原始数组

 PS:

参考网址:https://www.jb51.net/article/134315.htm