【发布时间】:2021-06-09 21:58:56
【问题描述】:
我有下面的js代码:
let splits = 23;
let outer_bound_value = 0;
let data = //this is an array of a large number of predefined objects (10,200+)
for (i = 0; i < data.length; i = i + outer_bound_value) {
outer_bound_value = data.length / splits;
let split_arr = array.slice(i, i + outer_bound_value);
}
此代码的预期结果是能够根据 splits 的值将巨型数组拆分为较小的数组(如果 splits 为 5,则将大数组拆分为 5 个部分)。我认为我上面的方法可行,但它依赖于能够进入对象长度的拆分,并且可能导致越界错误。有人有更有效的方法来做我想做的事吗?
【问题讨论】:
-
为什么要在for循环中计算
outer_bound_value?如果您需要将 N 个元素的列表分成 M 个段,则每个段的长度为floor(N/M),除了最后一个(可能还有 1 个元素):您在开始 for 循环之前已经知道长度。跨度> -
@Mike'Pomax'Kamermans 你介意编辑我的代码以便我明白你的意思吗?
-
只要
i小于数组长度,如果 slice() 的最终值超过长度,它就会正确处理它并且只返回可用的console.log([1,2,3,4].slice(1, 100))
标签: javascript arrays csv sorting