javascript - 相当于 Javascript 中的 Ruby Enumerable#each_slice?

标签 javascript underscore.js

我正在寻找 Javascript 中 Ruby 的 Enumerable#each_slice 的等价物。

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

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

[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]

最佳答案

这个怎么样:

Array.prototype.each_slice = function (size, callback){
  for (var i = 0, l = this.length; i < l; i += size){
    callback.call(this, this.slice(i, i + size));
  }
};

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].each_slice(3, function (slice){
  console.log(slice);
});

输出(在 Node.js 中):

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

关于javascript - 相当于 Javascript 中的 Ruby Enumerable#each_slice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249658/

相关文章:

javascript - 使用 websocket node.js 发送 PDF 文件

javascript - 如何将 jQuery 自动完成(=实时搜索)与 Laravel Controller 结合使用

javascript - 如何在 Google Apps 脚本中添加工作表函数?

javascript - 使用下划线列出键的所有值

javascript - 使用 canvg 脚本将内联 svg 转换为 Canvas

javascript - 如何检查其他手机中存在的应用程序

javascript - 如何使用 Underscore/LoDash 将一个对象数组分成两个数组

Backbone.js 集合获取多个模型

underscore.js - 为什么 _.escape 会修改 Underscore.js 中的/字符?

javascript - underscore.js 模板中的变量