是否等效于Javascript中的Ruby Enumerable#each_slice? [英] Equivalent of Ruby Enumerable#each_slice in Javascript?

查看:40
本文介绍了是否等效于Javascript中的Ruby Enumerable#each_slice?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找Javascript中与Ruby等效的Enumerable#each_slice.

I am looking for an equivalent of Ruby's Enumerable#each_slice in Javascript.

我已经在使用很棒的underscore.js了,它具有each(),map(),inject()...

I am already using the great underscore.js that has each(), map(), inject()...

基本上,在Ruby中,这种很棒的方法是这样做的:

Basically, in Ruby this great method does this :

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].each_slice(3) {|a| p a}

# outputs below
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
[10]

推荐答案

我会稍微修改Brandan的答案,以使其更适合JavaScript和underscore.js的环境:

I would modify Brandan's answer slightly to fit better within the environment of JavaScript plus underscore.js:

_.mixin({ "eachSlice": function(obj, size, iterator, context) {
    for (var i=0, l=obj.length; i < l; i+=size) {
      iterator.call(context, obj.slice(i,i+size), i, obj);
    } }});

这是演示.

这篇关于是否等效于Javascript中的Ruby Enumerable#each_slice?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆