splice()和slice()方法切割数组的用法

今天复习了数组的方法,但是对于splice()方法和slice()还有一些模糊,研究之后决定分享出来。

两种方法都可以对数组进行切割,但是有一定的区别。

1.splice方法

  • splice()方法向/从数组中添加/删除元素,然后返回被删除的元素组成的数组。
  • 用于数组对象。
  • arr.splice(index, howmany, item1,…, itemX)
  • 会改变原数组

示例:用splice方法将数组切割为偶数个

//声明arr数组  
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

   //定义方法
   function arrSplice(arr, chunkSize) {
       //定义一个空数组来接收返回值
       const resSplice = []
       while (arr.length > 0) {
      //注意:splice方法的返回值为删除的值,在这边即为原数组中切割掉的index为0-chunkSize的值
       const chunk = arr.splice(0, chunkSize)
      //将返回值添加到resSplice数组
       resSplice.push(chunk)
            }
         //return出去
       return resSplice
  }
        

    console.log(arrSplice(arr,2))

 

 2.slice方法

  • slice()方法主要用于截取数组,并返回截取到的新数组。
  • 数组和字符串对象均可以使用。
  • arr.slice(start, end)(包括index为start的值但不包括end,如果为负数,则从数组的末尾开始。比如为-1,则是倒数第一个值)
  • 不会改变原数组

示例:用slice方法将数组切割为每个数组三个

     //声明一个新数组
        let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        //定义方法
        function arrSlice(arr, chunkSize) {
            //定义一个新变量来接收
            const resSlice = []
            for (let i = 0; i < arr.length; i += chunkSize) {
                //注意:这里slice返回的值为新数组,并不会影响原数组的值
                const chunk = arr.slice(i, i + chunkSize)
                resSlice.push(chunk)
            }
            return resSlice
        }
        console.log(arrSlice(arr, 3))

 受限于两种方法在切割数组上的区别,splice方法用while切割更合适,而slice方法用for循环切割更合适。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值