Javascript 更快速地访问大型阵列中的元素?

Javascript 更快速地访问大型阵列中的元素?,javascript,arrays,runtime,Javascript,Arrays,Runtime,我的程序运行时需要一段时间:array[index] 我相信这是因为“数组”是一个非常大的数组,需要一段时间才能加载数组。是否有任何方法可以在加载时遍历数组,一旦找到“索引”,它就会停止加载 我的理论是,您必须等待整个数组加载后再进行检查,但我不确定是否还有其他方法(我也考虑过映射和指针,但这似乎是相同的问题) 关于如何使用大型阵列加快运行速度,有什么想法吗 编辑:我的问题代码: 函数myFunction(索引){ 数组=[“702-123-456”,“702-234-567”,…] 返回数组

我的程序运行时需要一段时间:array[index] 我相信这是因为“数组”是一个非常大的数组,需要一段时间才能加载数组。是否有任何方法可以在加载时遍历数组,一旦找到“索引”,它就会停止加载

我的理论是,您必须等待整个数组加载后再进行检查,但我不确定是否还有其他方法(我也考虑过映射和指针,但这似乎是相同的问题)

关于如何使用大型阵列加快运行速度,有什么想法吗

编辑:我的问题代码:

函数myFunction(索引){
数组=[“702-123-456”,“702-234-567”,…]
返回数组[索引];

}
我已经测试了在
数组中循环的不同方法
&这种方法似乎是最有效的:

const array = [ 1, 2, 3];

for(i = 0; i < array.length; i++){
  console.log(array[i]);  // 0.719ms
}

array.forEach(item => console.log(item)); // 0.236ms

array.map(item => console.log(item)); // 0.066ms

array.filter(item => console.log(item)); // 0.056ms

嗯,我认为你无法控制将数组加载到RAM中。这需要操作系统来处理,一旦完成,只有您才能访问阵列。也许将arrray逻辑地分解为多个arrray可以帮助您解决问题。或者你也可以重新考虑使用的数据结构。我明白了。你认为如果我切片数组会出现同样的问题吗,因为我需要等待数组加载,然后切片它?虽然我认为问题在于我必须等待数组加载,这会导致运行时间过长,但我不确定这是否是我的问题。有许多不同的方法可以搜索/排序数组。在谷歌搜索“javascript搜索排序算法”,并测试什么最适合你。如果您不提供数据结构的外观,我们很难提供帮助。@Spangle思考我的运行时之所以很大,是否是因为在执行数组[index]时加载了“array”?还是因为访问索引使其速度变慢?对不起,我不太熟悉好的表现。如果您认为这是因为访问索引速度变慢,那么是的,我应该以某种方式操纵数据。但是如果是因为正在加载阵列,我不确定。我建议做一个测试,看看加载阵列需要多长时间。获取所需的时间。之后,再进行一次测试,以确定在数组中查找该项需要多少时间。数据是否来自api?JavaScript也是单线程的,需要考虑的事情。也就是说,你不会在搜索数组的同时加载它。哇,这是时间上的巨大进步!过滤是否让阵列先加载,然后再执行?您是否知道一种在找到索引后从数组中跳出的方法?我想如果这是可能的,再加上使用过滤器,将大大提高运行时。我不知道我的想法,但如果我发现了,我会分享它。您要查找哪个索引并停止循环?在
数组中循环时,您到底想做什么?您正在尝试什么样的操作?@webdesignnoob您也可以使用,它速度更快,但我不知道它是否对您的用例有用。我将更新我的答案以包括在内。我已经用我的代码更新了我的问题!我会试试你提到的方法,看看。
array.sort(a => console.log(a)); // 0.046ms