猴子吃香蕉可是掰成好几段来吃哦!
把一个数组arr
按照指定的数组大小size
分割成若干个数组块。
例如:chunk([1,2,3,4],2)=[[1,2],[3,4]];
chunk([1,2,3,4,5],2)=[[1,2],[3,4],[5]];
这里用到了Array.push()和Array.slice()简要说明一下
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度
arrayObject.push(newelement1,newelement2,....,newelementX)
说明
push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。
注释:该方法会改变数组的长度。
提示:要想数组的开头添加一个或多个元素,请使用 unshift() 方法。
slice() 方法可从已有的数组中返回选定的元素。
arrayObject.slice(start,end)
说明
请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。
注释:您可使用负值从数组的尾部选取元素。
注释:如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。
function chunk(arr, size) {var str=[];if(arr.length<size ||size<=0)//return arr; //不考虑性能可以省略这一步操作for(var i=0; i<arr.length; i+=size){str.push(arr.slice(i,i+size));}console.log(str);return str;}chunk(["a", "b", "c", "d"], 2);