splice:会改变原数组 对原数组进行增删改查
用法: array.splice(start,delectCount,item...)
var a = ['a','b','c'];
var b = a.splice(1,1,'e','f') // ['b'],也就是把b抽离出来,然后在下标1的后面添加了e和f
console.log(a) // ['a','e','f','c']
slice:截取 返回的是一个新数组,不改变原来的数组
用法:slice(start,end) 截取的是开始和结束之间的值
<script>
var a = [1,23,3,4,5]
var b = a.slice(0,3) //下标为0开始截取到下标为3的数字之间的数字
console.log(b) //[1,23,3]
//如果两个参数中的任何一个是负数,array.length会先和它们相加,试图让它们称为非负数:
var a = [1,2,3,4,5,6]
var b = a.slice(-1) //[6] = > 6+(-1) = 5(是下标的数) 所以最后b为索引是5的数
//当只传入一个参数 是负数,并且参数的绝对值大于数组的长度时,会截取整个数组
var a = [1,2,3,4]
var b = a.slice(-4) // [1,2,3,4]
var c = a.slice(-6) // [1,2,3,4]
//当参数两个参数一正一负时,length也会先与负数相加,再截取
var a = [1,2,3,4,5,6]
var b = a.slice(2,-3) // 6+(-3) = 3,又因为是从下标2开始截取的,所以是[3]
</script>
split:把字符串分割成数组(不会改变原数组)
用法:string.split(separator,limit),separator参数可以是一个字符串也可以是一个正则表达式,limit可以限制被分割的片段数量(注意这里是数量,不是下标啊啊啊!!!)
var a = "js!on!pa!rs!e"
var b = a.split("!",3) //这里是以!为分割的基准点,3是指 分割3个以!为基准的字符(或者说是数)
console.log(b) // ['js', 'on','pa']
console.log(a) //'js!on!pa!rs!e'
//但如果是一个空字符,就会返回一个单字符的数组
var a = "jsonparse"
var b = a.split("",5)
console.log(b) //['j', 's', 'o', 'n']
console.log(a) // jsonparse
好啦 以上就是数组中三种相近方法的区别