[JS]Array.prototype.slice()和Array.prototype.splice()

arr.slice(begin,end)

slice() 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。且原始数组不会被修改。

  • 如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取slice(-2,-1)表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)。
  • 如果 end 被省略,则slice 会一直提取到原数组末尾。
  • 如果 end 大于数组长度,slice 也会一直提取到原数组末尾。

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/slice


题目描述:把一个数组arr按照指定的数组大小size分割成若干个数组块。

题目来源:freecodecamp

全部代码:

 1 function chunk(arr, size) {
 2   // 请把你的代码写在这里
 3   var newArr=[];
 4   for(var i=0;i<Math.ceil(arr.length/size);++i)
 5     {
 6       newArr.push(arr.slice(size*i,size+size*i));
 7     }
 8   return newArr;
 9 }
10 
11 chunk(["a", "b", "c", "d"], 2);

!特别注意:slice里的end不是长度是下标。

 


 

附:

数字取上下限问题:

1.丢弃小数部分,保留整数部分

parseInt(5/2)

2.向上取整,有小数就整数部分加1

 Math.ceil(5/2)

3,四舍五入.

Math.round(5/2)

4,向下取整

 Math.floor(5/2)

https://www.jb51.net/article/50005.htm


Array.prototype.splice(start,deletecount,item,,,,)

splice()方法通过删除现有元素和/或添加新元素来更改一个数组的内容

  • start为开始位置
  • deletcount为要删除的数目
  • item可写多个插入到刚刚删除的位置

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/splice

Slasher Flick

截断数组

返回一个数组被截断n个元素后还剩余的元素,截断从索引0开始。

1 function slasher(arr, howMany) {
2   // 请把你的代码写在这里
3   arr.splice(0,howMany);
4   return arr;
5 }
6 
7 slasher([1, 2, 3], 2);

@jm_epiphany

转载于:https://www.cnblogs.com/cuphoria/p/9592649.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值