数组的方法(更新中)

目录

1. slice() 方法

一、 Array.prototype.slice()

arr.slice(begin, end)  提取数组元素

slice()

  • 返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。
  • 不会修改原数组,只会返回一个浅复制了原数组中的元素的一个新数组。

  • 原数组的元素会按照下述规则拷贝:

  • 如果该元素是个对象引用(不是实际的对象),slice 会拷贝这个对象引用到新的数组里。两个对象引用都引用了同一个对象。如果被引用的对象发生改变,则新的和原来的数组中的这个元素也会发生改变。
  • 对于字符串、数字及布尔值来说(不是 StringNumber 或者 Boolean 对象),slice 会拷贝这些值到新的数组里。在别的数组里修改这些字符串或数字或是布尔值,将不会影响另一个数组。如果向两个数组任一中添加了新元素,则另一个不会受到影响。

可选参数

1. begin 

  • 提取起始处的索引(从 0 开始),从该索引开始提取原数组元素。     
  • 如参数为负数,表示从原数组中的倒数第几个元素开始提取slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。
  • let arr = [1, 2, 3, 4]
    
    let result =  arr.slice(0, 1) // [1]
    
    //从倒数第二个元素开始 提取到最后一个元素
    let result =  arr.slice(-2)  // [3, 4]
                                                        
  • 如果省略 begin,则 slice 从索引 0 开始。                                                                           
  • 如果 begin 超出原数组的索引范围,则会返回空数组。

2. end

  • 提取终止处的索引(从 0 开始),在该索引处结束提取原数组元素。
  • slice 会提取原数组中索引从 begin 到 end之前 的所有元素(不包含 end)。
  • let arr = [1, 2, 3, 4]
    
    //从索引号1开始,截止到索引号3之前得元素
    let result =  arr.slice(1, 3) // [2, 3]
  • 如果参数为负数, 表示在原数组中的倒数第几个元素结束抽取。 
  • let arr = [1, 2, 3, 4]
    
    //从倒数第二个开始,截止到 倒数第一个之前的元素
    let result =  arr.slice(-2, -1) // [3]
  • 如省略end,slice会一直提取到原数组末尾。
  • 如果 end  大于 数组的长度,slice 也会一直提取到原数组末尾。

返回值

一个含有被提取元素的新数组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值