稍微修改一下就可以将数组分割成块
Split array in chunks with a slight modification
问题很简单。我有一个数组,类似
let array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
maxChunkLength = 3;
我需要将其拆分为多个数组,以获得以下内容:
[[1, 2, 3], [3, 4, 5], [5, 6, 7], [7, 8, 9], [9, 10]]
请注意,块的最后一个元素应该是它旁边块的第一个元素
有人知道最好的方法吗?
,此功能可能对您有效
function splitArray(array, chunk){
var i,j, rslt = [];
chunk = chunk - 1;
for (i=0,j=array.length; i<j; i+=chunk) {
rslt.push(array.slice(i,i+chunk +1));
}
return rslt;
}
示例
splitArray([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3); //[[1, 2, 3], [3, 4, 5], [5, 6, 7], [7, 8, 9], [9, 10]]
这大约是接受答案的两倍快。
function chunk(arr, chunkSize) {
var curr = [], result = [], i, j;
for (i=0, j=arr.length; i<j; i++) {
curr.push(arr[i]);
if (curr.length === chunkSize) {
result.push(curr);
curr = [arr[i]];
}
}
if (curr.length !== chunkSize) {
result.push(curr);
}
return result;
}
document.write(JSON.stringify(chunk([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3)));
这应该可以工作,
var arr = [1,2,3,4,5,6,7,8];
var el1 = 0, el2 = 0, el3 = 0;
var result = [];
var splitLength = 3;
for(var i = 0; i < arr.length; i += (splitLength -1) ) {
var tempArr = [];
for(var j = 0; j < splitLength && arr[i+j]; j++) {
tempArr.push(arr[i+j]);
}
result.push(tempArr);
}
console.log("[" + result.join("]'n[") + "]");
这对你有用吗?
var originalArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var maxChunkLength = 3
var newArray = [];
for (var i = 0; i < originalArray.length; maxChunkLength += 2) {
var tempArray = [];
for (var j = i; j < i+maxChunkLength; j++) {
if (typeof originalArray[j] !== "undefined") {
tempArray.push(originalArray[j]);
}
}
newArray.push(tempArray);
tempArray = [];
}
相关文章:
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 对一个对象使用reduce可以返回一个没有't在数组中包含目标字母
- JavaScript-为什么我可以在数组中设置键
- JavaScript:是否可以将图像/信息附加到数组项
- 我可以使用JS一次使用JSON数组中的一个字符串吗
- 我需要迭代一个JSON数组——不知道如何做到——已经搜索过了,但仍然可以'我一点也不知道
- 是否可以将字符串转换为文字对象数组
- 我可以限制我添加到数组中的项目数量吗
- 当数组中的某个函数没有返回promise时,我可以使用$q.all吗
- .pop() 可以用于 JavaScript 中的对象数组吗?
- 有没有更简洁的方法可以从带有 lodash 的数组中删除条目
- Grunt 可以直接从文件对象/数组或 glob 中的“src”值通过 HTTP 加载远程文件
- 是否可以将数组从onClick传递到javascript函数
- setInterval函数可以't读取数组
- 可以't分配给一个对象数组javascript
- 如何只需一次调用就可以将对象数组保存到mongoose DB中
- 稍微修改一下就可以将数组分割成块
- 一旦动态对象从DOM中移除,就从数组中移除它们