JavaScript高级程序设计P151
1.slice()函数
- slice()函数用于重新创建一个包含原有数组中一个或多个元素的新数组,(将原数组赋值一份进行修改操作,使用slice()函数不会对原数组造成影响,slice()函数返回的是复制的另一份数组的修改结果)
- slice()函数操作不影响原数组
- slice()函数最多接收2个参数,1.开始索引,2.结束索引,如果只有一个参数,slice()会返回从该索引位置到数组末尾的所有元素
- slice()函数接收两个参数时,左闭右开,返回结果不包含结束索引对应的元素
- ??如果结束索引是数组长度+2返回的结果会包含数组的末尾元素吗??
- 会,只要大于最后一位元素的索引值,都会返回全部元素
var arr = [1,2,3,4,5] console.log(arr.slice(0,4))//[ 1, 2, 3, 4 ] console.log(arr.slice(0,5))//[ 1, 2, 3, 4, 5 ] console.log(arr.slice(0,6))//[ 1, 2, 3, 4, 5 ] console.log(arr.slice(0,7))//[ 1, 2, 3, 4, 5 ]
- slice()函数的参数如果有负值,那么就以数组的长度加上这个负值的结果确定位置
2.splice()函数
- splice()函数用于在数组中插入元素
- splice()函数有三种用法
- 删除 需要传入两个参数,1.删除的起始位置,2.要删除的元素的数量
- 插入 需要传入3个参数,1.起始位置,2.0(要删除的元素数量),3.要插入的元素第三个参数之后还可以传入任意多个需要插入的元素
- 替换 在删除元素的同时可以在指定位置插入新元素,需要传入3个参数,1.开始位置2.要删除的元素的数量3.要替换的内容
- splice()函数直接在原数组上进行修改
- splice()函数会返回一个包含从数组中被删除的元素的数组,如果没有删除元素则返回一个空数组
console.log([1,2,3,4,5].splice(1,2,3,4,5)); //[2,3] splice()函数返回的被删除的元素的数组
console.log([1,2,3,4,5].slice(1,2,3,4,5)); //[2] slice()函数返回一份修改后的函数,左闭右开,输出数组[2]
var arr = [1,2,3,4,5]
console.log(arr.splice(1,2,3,4,5))// [2,3]
console.log(arr)//[1,3,4,5,4,5] 在原数组上进行修改,从第二个元素开始删除两个,插入3,4,5
标签:splice,slice,console,函数,元素,数组
From: https://www.cnblogs.com/tips-collection/p/17164232.html