如何制作一个从结束 for 循环的索引末尾继续的循环?
How to make a loop that continues from the end of the index of an ended for loop?
我需要手动制作一个 csv 字符串。为此,我有 2 个数组,一个用于 headers,一个用于数据。我几乎尝试了所有方法,大多数情况下我 运行 进入了一个永无止境的循环。
function addDataLineToCsv(headers, data, index) {
var returnString = ""
for (index; index <= headers.length; index++) {
returnString += data[index]
}
}
这里的问题是我有指定数量的headers。但是在数组 'data' 中,我拥有按 headers 排序的所有数据。例如:
var headers =' ['ID', 'name', 'age']
则数据数组如下所示:
var data = ['ID(data)', 'name(data)', 'age(data)', 'ID(data)', 'name(data)', 'age(data)'....]
我想做的是循环遍历数组 'data',但始终使用 headers 的计数,这样我就可以得到一种“组”效果向字符串中添加行,例如:
ID,name,age
0, John, 25
1, Jane, 23
感谢您的帮助,如果我提出的问题有点混乱,请原谅。
您的 group_item_count
将是您的 headers.length
。
let data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
let group_item_count = 4;
let data_length = data.length
for(let i = 0; i < data_length; i += group_item_count){
let offset = group_item_count;
if(i + offset > data_length) {
offset = data_length % group_item_count;
}
let group = data.slice(i, i + offset)
console.log(group)
}
您基本上可以使用此代码迭代“组”中的平面数组(每个“组”的长度为 group_item_count
)。如您所见,如果 data.length
不能被 group_item_count
整除而没有余数,则最后一个“组”的长度将是除法的余数。
我需要手动制作一个 csv 字符串。为此,我有 2 个数组,一个用于 headers,一个用于数据。我几乎尝试了所有方法,大多数情况下我 运行 进入了一个永无止境的循环。
function addDataLineToCsv(headers, data, index) {
var returnString = ""
for (index; index <= headers.length; index++) {
returnString += data[index]
}
}
这里的问题是我有指定数量的headers。但是在数组 'data' 中,我拥有按 headers 排序的所有数据。例如:
var headers =' ['ID', 'name', 'age']
则数据数组如下所示:
var data = ['ID(data)', 'name(data)', 'age(data)', 'ID(data)', 'name(data)', 'age(data)'....]
我想做的是循环遍历数组 'data',但始终使用 headers 的计数,这样我就可以得到一种“组”效果向字符串中添加行,例如:
ID,name,age
0, John, 25
1, Jane, 23
感谢您的帮助,如果我提出的问题有点混乱,请原谅。
您的 group_item_count
将是您的 headers.length
。
let data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
let group_item_count = 4;
let data_length = data.length
for(let i = 0; i < data_length; i += group_item_count){
let offset = group_item_count;
if(i + offset > data_length) {
offset = data_length % group_item_count;
}
let group = data.slice(i, i + offset)
console.log(group)
}
您基本上可以使用此代码迭代“组”中的平面数组(每个“组”的长度为 group_item_count
)。如您所见,如果 data.length
不能被 group_item_count
整除而没有余数,则最后一个“组”的长度将是除法的余数。