本文共 1910 字,大约阅读时间需要 6 分钟。
splice()只有1个参数时:
let arr = [1,2,3,4,5,6,7,8,9]let arr1 = arr.splice(3)//包含该下标元素,删除后面所有的console.log(arr) //[1, 2, 3]console.log(arr1) //[4, 5, 6, 7, 8, 9]
splice()有2个参数时:
let arr = [1,2,3,4,5,6,7,8,9] let arr1 = arr.splice(1,3) //(起始下标1,删除3个) console.log(arr) //[1, 5, 6, 7, 8, 9] console.log(arr1) //[2, 3, 4]
splice()有3个参数或多个时:
第3个及后面的参数都视为插入的元素let arr = [1,2,3,4,5,6,7,8,9] let arr1 = arr.splice(1,5,20) //(起始下标1,删除5个,20插入到起始下标的位置) console.log(arr) //[1, 20, 7, 8, 9] console.log(arr1) //[2, 3, 4, 5, 6]
参数为负数:
如果第1个参数为负数,从右到左开始删除:let arr = [1,2,3,4,5,6,7,8,9] let arr1 = arr.splice(-2) console.log(arr) //[1, 2, 3, 4, 5, 6, 7] console.log(arr1) //[8, 9]
如果第2个参数为负数,视为0:
let arr = [1,2,3,4,5,6,7,8,9] let arr1 = arr.splice(-2,-4) console.log(arr) //[1, 2, 3, 4, 5, 6, 7] console.log(arr1) //[]
slice()操作数组时:
slice()只有1个参数时:let arr = [1,2,3,4,5,6,7,8,9]let arr1 = arr.slice(3)//包含该下标元素,删除后面所有的console.log(arr) // [1, 2, 3, 4, 5, 6, 7, 8, 9]console.log(arr1) // [4, 5, 6, 7, 8, 9]
slice()有2个参数时:
let arr = [1,2,3,4,5,6,7,8,9] let arr1 = arr.slice(3,6) //(包含的起始下标,不包含的结束下标) console.log(arr) // [1, 2, 3, 4, 5, 6, 7, 8, 9] console.log(arr1) // [4, 5, 6]
第3个或多个参数无效
参数为负数:
let arr = [1,2,3,4,5,6,7,8,9] let arr1 = arr.slice(3,-2) //(从左开始截取下标,负数从右开始截取下标) console.log(arr) // [1, 2, 3, 4, 5, 6, 7, 8, 9] console.log(arr1) // [4, 5, 6, 7]
let arr = [1,2,3,4,5,6,7,8,9] let arr1 = arr.slice(-4,-2) //(负数从右开始截取下标,负数从右开始截取下标) console.log(arr) // [1, 2, 3, 4, 5, 6, 7, 8, 9] console.log(arr1) // [6, 7]
如果第二个负数参数的位置超过第一个参数的位置,则返回 [ ]
let arr = [1,2,3,4,5,6,7,8,9] let arr1 = arr.slice(3,-6) console.log(arr) // [1, 2, 3, 4, 5, 6, 7, 8, 9] console.log(arr1) // []
let arr = 'abcdefghijklmn' let arr1 = arr.slice(2,4) console.log(arr) // abcdefghijklmn console.log(arr1) // cd
转载地址:http://rwrgn.baihongyu.com/