JS中splice、slice、split三种方法的区别

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

好啦 以上就是数组中三种相近方法的区别

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值