javascript – Array.map要将值映射为无

前端之家收集整理的这篇文章主要介绍了javascript – Array.map要将值映射为无前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有数组:[1,2,3,4,5,6,7]

我想实现:[[1,2],[3,4],[5,6],[7]]

我在想Array.map,但它似乎无法映射到一个元素什么?

我有(使用Underscorejs):

@H_403_8@arr.map(function(el,idx,arr) { if (idx%2 != 0) return null; if (idx == arr.length-1) return [el]; return [el,arr[idx+1]] }).compact();

这还是有点丑陋.如何实现转换(没有显式循环)?

解决方法

使用模运算符减少数组: @H_403_8@function chunk(arr,n) { return arr.reduce(function (p,c,i) { if (i % n === 0) p.push([]); p[p.length - 1].push(c); return p; },[]); } chunk(arr,2); // [[1,[7]]

DEMO

猜你在找的JavaScript相关文章