小谈splice()方法和slice()方法
今天在写代码的时候用到splice和slice这两种方法,虽然两种方法单词相差了一个“p”,可这两种方法区别大着呢!
splice()方法
splice()方法属于JavaScript Array(数组)对象中的方法,其作用是向/从数组添加/删除元素,然后返回被删除的元素。注意的是此方法会改变原始数组!
语法结构为:arrayObject.splice(index,howmany,item1,...,itemX);
由此可见此方法有3个参数:分别为index, howmany, item1,,,,,itemX
参数index:必需。其值为整数,规定了添加/删除数据元素的位置,若使用负数可从数组结尾处规定的位置!
参数howmany : 必需。表示要删除的元素的数量。若为0,则不会删除项目!
参数item1,,,,,itemX: 可选。向数组添加的新元素。
其返回值是Array(数组)类型,含被删除元素的新数组!
若从ArrayObject中删除了元素,则返回的是含有被删除的元素的数组。
实例:
<script type="text/javascript">
var arr = new Array(6)
arr[0] = "a"
arr[1] = "b"
arr[2] = "c"
arr[3] = "d"
arr[4] = "e"
arr[5] = "f"
document.write(arr + "<br />")
arr.splice(2,1)
document.write(arr + "<br />")
</script>
其输出结果为
a,b,c,d,e,f
a,b,d,e,f
slice()方法
slice()方法也是属于JavaScript Array(数组)对象中的方法,其作用是从已有的数组中返回选定的元素!
语法结构为:arrayObject.slice(start,end);
由此可见此方法有2个参数:分别为start, end
参数start:必需。规定从何处开始选取。若是负数,则从数组的尾部开始算位置
参数end: 可选。规定从何处结束选取。若无该参数,那么切分的数组包含从start到数组结束的所有元素。若为负数,则规定的是从数组的尾部开始算起的元素。
其返回值是一个新的数组,包含从start到end(不包含该元素)的arrayObject中的元素。
此方法不会改变修改数组,而是返回一个子元素。
实例:
<script type="text/javascript">
var arr = new Array(6)
arr[0] = "a"
arr[1] = "b"
arr[2] = "c"
arr[3] = "d"
arr[4] = "e"
arr[5] = "f"
document.write(arr + "<br />")
arr.slice(2,4)
document.write(arr + "<br />")
</script>
其结果为:
a,b,c,d,e,f
c,d