首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用JavaScript将长数组拆分为较小的数组

如何使用JavaScript将长数组拆分为较小的数组
EN

Stack Overflow用户
提问于 2011-09-02 00:52:27
回答 22查看 222.7K关注 0票数 125

我有一个电子邮件数组(可以只是1个电子邮件,也可以是100个电子邮件),我需要用一个ajax请求发送这个数组(我知道怎么做),但是我只能发送一个包含10个或更少电子邮件的数组。因此,如果有一个包含20封电子邮件的原始数组,我需要将它们分成2个数组,每个数组10个。或者,如果原始数组中有15封电子邮件,那么一个包含10封邮件的数组和另一个包含5封邮件的数组。我使用的是jQuery,那么最好的方法是什么?

EN

回答 22

Stack Overflow用户

回答已采纳

发布于 2011-09-02 01:02:47

不要使用jquery...use纯javascript

代码语言:javascript
复制
var a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];

var b = a.splice(0,10);

//a is now [11,12,13,14,15];
//b is now [1,2,3,4,5,6,7,8,9,10];

你可以循环这段代码来获得你想要的行为。

代码语言:javascript
复制
var a = YOUR_ARRAY;
while(a.length) {
    console.log(a.splice(0,10));
}

这会给你一个time...if的10个元素,比如说15个元素,你会得到1-10,11-15,这是你想要的。

票数 236
EN

Stack Overflow用户

发布于 2011-09-02 00:56:12

代码语言:javascript
复制
var size = 10; var arrayOfArrays = [];
for (var i=0; i<bigarray.length; i+=size) {
     arrayOfArrays.push(bigarray.slice(i,i+size));
}
console.log(arrayOfArrays);

splice()不同,slice()对原始数组是非破坏性的。

票数 134
EN

Stack Overflow用户

发布于 2011-09-02 00:59:34

只需在数组上循环,拼接它,直到它全部用完。

代码语言:javascript
复制
var a = ['a','b','c','d','e','f','g']
  , chunk

while (a.length > 0) {

  chunk = a.splice(0,3)

  console.log(chunk)

}

输出

代码语言:javascript
复制
[ 'a', 'b', 'c' ]
[ 'd', 'e', 'f' ]
[ 'g' ]
票数 48
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7273668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档