您的位置:首页 > Web前端 > JavaScript

JS对数组某个元素的删除操作,delete与splice的异同

2017-08-23 15:45 726 查看
delete:删除(单纯的删除)

splice:剪接(不仅可以剪掉还可以添加)

remove:

var array = [1,2,3,4];
console.log('array',array);
console.log('length1:',array.length);

delete array[2];
console.log('array2',array);
console.log('length2:',array.length);


输出结果:

array : [1, 2, 3, 4]
length1:4

array2: [1, 2, undefined × 1, 4]
length2:4


从结果可以看出delete操作只是将指定位置的元素变为了undefined(数组大小并没有改变)。

splice(剪):

var array = [1,2,3,4];
console.log('array',array);
console.log('length1:',array.length);

array.splice(2,1)
console.log('array2',array);
console.log('length2:',array.length);


输出结果:

array:[1, 2, 3, 4]
length1: 4

array2:[1, 2, 4]
length2: 3


从结果可以看出splice操作不仅删除掉了该位置的元素还改变了数组的大小。

splice方法详解:

splice(index,length,item)

index:要操作的数组下标。
length:删除、替换的长度。
item:欲添加或者替换的元素。


splice共有三个参数,可以进行
替换、删除以及添加
操作

1.删除操作(item为空)

var arr = [1,2,3,4,5]
console.log(arr)

arr.splice(2,2)
console.log(arr)


输出结果:

[1, 2, 3, 4, 5]

[1, 2, 5]


2.替换操作(item不为空)

var arr = [1,2,3,4,5]
console.log(arr)

arr.splice(2,2,0)
console.log(arr)


输出结果:

[1, 2, 3, 4, 5]

[1, 2, 0, 5]


3.添加操作(length设为0,item不为空)

var arr = [1,2,3,4,5]
console.log(arr)

arr.splice(2,0,0)
console.log(arr)


输出结果:

[1, 2, 3, 4, 5]

[1, 2, 0, 3, 4, 5]


结论:

delete:只是将该元素变为undefined(数组大小并没有改变)。

splice:可以对数组进行增、删、改操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript 数组
相关文章推荐