当前位置:首页 > 编程开发 > HTML/CSS > 正文内容

Javascript的delete与splice的区别

Codefans2年前 (2022-11-02)HTML/CSS756

splice

splice(index,len,item)   


splice() 方法用于对数组元素进行删除添加替换操作。返回值为删除的元素组成的数组。


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


index:数组开始下标       


len: 删除的长度 ,如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。     


item:替换的元素,删除操作的话 item 为空( 需要在删除元素的前面插入的元素 )


删除

选定开始删除下标后 , 第二个参数指定删除的元素个数 ,第三个参数 为空


var arr = [1,2,3,4]
 
// 只删除 1 个元素
 arr.splice(1,1)   //  [ 1, 3, 4 ]
 
// 删除 多个元素
 arr.splice(1,2)   //  [ 1, 4 ]

 

 插入

splice 方法不止可以用来删除,它属于比较全面的数组方法,同样可以进行插入操作,

如果把第二个参数设置 为 0 ,表示删除的元素个数为零 ,在指定  index(索引)  前面插入元素(如下面代码所示)


var arr = [1,2,3,4]
 
// 只插入 1 个元素
arr.splice(1,0,1.5)   // [ 1, 1.5, 2, 3, 4 ]
 
// 插入多个元素
arr.splice(1,0,1.5,1.6)   // [ 1, 1.5, 1.6, 2, 3, 4 ]

插入并删除

注意 :当指定删除元素的个数大于可操作的长度,可正常执行,不会报错


var arr = [1,2,3,4]
 
// 插入且删除
 arr.splice(1,2,1.5)     //[ 1, 1.5, 4 ]
 
// 指定删除个数为 2 ,可操作个数为 1
arr.splice(3,2,1.5)    // [ 1, 2, 3, 1.5 ]

delete

对象属性删除

 delete可以删除对象属性


// 对象属性删除
function fun(){
    this.name = '张三';  
 } 
    var obj = new fun(); 
    console.log(obj.name); // 张三
    delete obj.name;  
    console.log(obj.name); //undefined

变量删除

直接用 delelte 删除不了变量 


// 变量删除
var name = '张三';
delete name
console.log(name) //张三

 delelte  删除不了原型链中的变量


function fun(){
    this.name = '张三';  
 } 
var obj = new fun(); 
fun.prototype.age = 18;
delete obj.age;
console.log(obj.age) //18

两者的区别

splice 方法会改变原始数组


var arr = [1,2,3,4]
 
// 删除 
 arr.splice(1,1)   //  [ 1, 3, 4 ]

 delete 操作后被删除的元素变成了 <1 empty item> ,其他的元素的键值还是不变。


var arr = [1,2,3,4]
 
delete arr[1]
console.log(arr)   // [ 1, <1 empty item>, 3, 4 ]



扫描二维码推送至手机访问。

版权声明:本文由图慧网发布,如需转载请注明出处。

本文链接:http://www.tuh8.com/?id=48

分享给朋友:

“Javascript的delete与splice的区别” 的相关文章

微信公众号中的图片获取高清版方法

微信公众号中的图片获取高清版方法

1.用google浏览器打开微信公众号文章地址,找到你想要的图片,并右击“在新标签页中打开图片”,如图:2.打开页面后,显示图片为“640(1080x720)”,说明该图片已被压缩,可以获取高清图,若显示“0(1080x720)”,说明已是高清图地址。如图:3.找到如下图中地址中的数据“640”,修...