为了账号安全,请及时绑定邮箱和手机立即绑定

将数组拆分为块

将数组拆分为块

将数组拆分为块假设我有一个Javascript数组,如下所示:["Element 1","Element 2","Element 3",...]; // with close to a hundred elements.什么方法适合将数组块(拆分)到许多较小的数组中,比如最多10个元素?
查看完整描述

4 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

array.slice方法可以提取的开头,中间,或自己需要的任何目的数组的结束片,在不改变原来的数组。

var i,j,temparray,chunk = 10;for (i=0,j=array.length; i<j; i+=chunk) {
    temparray = array.slice(i,i+chunk);
    // do whatever}


查看完整回答
反对 回复 2019-05-27
?
UYOU

TA贡献1878条经验 获得超4个赞

如果您不知道谁将消耗您的代码(第三方,同事,您自己以后等),请尽量避免使用本机原型(包括Array.prototype)。

有一些方法可以安全地扩展原型(但不是在所有浏览器中),并且有方法可以安全地使用从扩展原型创建的对象,但更好的经验法则是遵循最小惊喜原则并完全避免这些做法。

如果您有时间,请观看Andrew Dupont的JSConf 2011演讲,“Everything is Permitted:Extending Built-ins”,以便对此主题进行讨论。

但回到这个问题,虽然上述解决方案可行,但它们过于复杂,需要不必要的计算开销。这是我的解决方案:

function chunk (arr, len) {

  var chunks = [],
      i = 0,
      n = arr.length;

  while (i < n) {
    chunks.push(arr.slice(i, i += len));
  }

  return chunks;}// Optionally, you can do the following to avoid cluttering the global namespace:Array.chunk = chunk;


查看完整回答
反对 回复 2019-05-27
  • 4 回答
  • 0 关注
  • 753 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信