最近工作的时候用到了slice,这时候我想起了splice,两者的具体用法总是搞混,这里记录一下~
用于数组的时候slice()方法可从已有的数组中返回选定的元素,也就是在该方法中指定的元素。该方法不会改变原数组,,返回值是一个新的数组。
从该示例中能看到第一个参数代表的是开始选取的位置,如果是负数的话代表从数组尾部开始算起的位置,-1代表从最后一个元素开始,-2代表从倒数第二个开始。
第二个参数代表的是选取结束的位置,不包含该位置,选取到该位置的上一位开始。如果不写第二个参数,那么就是从开始位置到最后一位。
splice是从数组中添加或删除项目,然后返回被删除的项目或者添加过的项目。而且该方法会改变原数组
如果有两个参数,那么第一个代表的是开始的位置,第二个有值而且没有第三个参数的话,代表的就是截取的位置和长度
如果有三个参数,第一个代表开始的位置,第二个参数是0的话就代表不删除(不是0的话就代表删除的个数),插入第三个参数。
<script type="text/javascript">
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
arr.splice(2,0,"William")
document.write(arr + "<br />")
</script>
输出:
George,John,Thomas,James,Adrew,Martin George,John,William,Thomas,James,Adrew,Martin