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