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

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

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

我有一组电子邮件(可以是1封电子邮件,也可以是100封电子邮件),我需要用ajax请求发送该阵列(我知道该怎么做),但是我只能发送一个包含以下内容的阵列不超过10封电子邮件。因此,如果原始数组中包含20封电子邮件,我将需要将其拆分为2个数组,每组10个。或者,如果原始数组中有15封电子邮件,然后是10个数组中的1个,然后是5个数组中的另一个。我使用的是jQuery,什么是最好的方法?
查看完整描述

3 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

不要使用jquery ...使用普通的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];

您可以循环执行此操作以获得所需的行为。


var a = YOUR_ARRAY;

while(a.length) {

    console.log(a.splice(0,10));

}

这一次将给您10个元素...如果您说15个元素,您将得到1-10,即您想要的11-15。


查看完整回答
反对 回复 2019-10-08
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

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()对原始数组无损。


查看完整回答
反对 回复 2019-10-08
?
白衣非少年

TA贡献1155条经验 获得超0个赞

只需循环遍历数组,将其剪接起来直到全部消耗完为止。




var a = ['a','b','c','d','e','f','g']

  , chunk


while (a.length > 0) {


  chunk = a.splice(0,3)


  console.log(chunk)


}

输出



[ 'a', 'b', 'c' ]

[ 'd', 'e', 'f' ]

[ 'g' ]


查看完整回答
反对 回复 2019-10-08
  • 3 回答
  • 0 关注
  • 797 浏览
慕课专栏
更多

添加回答

举报

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