eri*_*sch 5 javascript arrays underscore.js
我有一个如下数组:
var someArray = ['val1','val2','val3','val4','val5','val6','val7','val8','val9','val10','val11','val12'];
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚一些优雅的方式,使用underscore,简单地将其转换为如此数组的数组......
[['val1','val2','val3','val4'], ['val5','val6','val7','val8'], ['val9','val10','val11','val12']]
Run Code Online (Sandbox Code Playgroud)
其中新数组的每个索引都是来自第一个数组的四个元素的组.是否有一种简单优雅的方式来做到这一点underscore.js.
The*_*pha 12
下划线,既然你问:(例子)
var i = 4, list = _.groupBy(someArray, function(a, b){
return Math.floor(b/i);
});
newArray = _.toArray(list);
Run Code Online (Sandbox Code Playgroud)
香草JS: (实施例)
var newArray = [], size = 4;
while (someArray.length > 0) newArray.push(someArray.splice(0, size));
Run Code Online (Sandbox Code Playgroud)
纯 JavaScript 解决方案,使用splice():
Object.defineProperty( Array.prototype, 'eachConsecutive', {
value:function(n){
var copy = this.concat(), result = [];
while (copy.length) result.push( copy.splice(0,n) );
return result;
}
});
var someArray = ['val1','val2','val3','val4','val5','val6','val7','val8','val9','val10','val11','val12'];
var chunked = someArray.eachConsecutive(4);
//-> [["val1","val2","val3","val4"],["val5","val6","val7","val8"],["val9","val10","val11","val12"]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2369 次 |
| 最近记录: |