2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > FCC--Chunky Monkey(数组分组)和Slasher Flick(截断数组)

FCC--Chunky Monkey(数组分组)和Slasher Flick(截断数组)

时间:2023-10-08 04:25:36

相关推荐

FCC--Chunky Monkey(数组分组)和Slasher Flick(截断数组)

Chunky Monkey(数组分组)

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

例如:chunk([1,2,3,4],2)=[[1,2],[3,4]];

chunk([1,2,3,4,5],2)=[[1,2],[3,4],[5]];

算法解析:1,利用两个指针p1,p2。p1指向数组开头位置,p2指向开头+size的位置

2,这个数组推入到新的数组

3,将两个指针移动size个单位

4,重复1,2,3步骤,直到指针p1和p2移动到结尾

利用slice函数完成指针指向和复制数组的功能,算法实现如下:

function chunk(arr, size) {// Break it up.var new_arr = [];for(var i = 0; i < arr.length; i += size){new_arr.push(arr.slice(i,i+size));}return new_arr;}chunk(["a", "b", "c", "d"], 2);

----------------------------------------------------------------------------------------------------------------------------------------------------------

Slasher Flick(截断数组)

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

function slasher(arr, howMany) {// it doesn't always pay to be firstarr.splice(0,howMany);return arr;}slasher([1, 2, 3], 2);

slice函数可以复制数组中的某一段,并不改变原数组

splice函数删除指定的一段数组,改变原数组

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。