【发布时间】:2014-12-27 16:17:53
【问题描述】:
我不在我的电脑旁,否则我会尝试一下:
假设我们有一个任意长度的数组(比如 5),每个索引按升序存储从 1 到 5 的数字(即 int[0] = 1 等)。
然后假设我们从用户那里获取一个输入,一个可变长度的数组,存储可变整数。我想验证这两个数组是否相同。
对我来说是不是更快,初步检查这些数组的长度是否相同,然后检查实际值是否相同,或者设置一些迭代循环系统来遍历两个数组并验证它们是否'是一样的吗?数组长度只是实际结构中的一些存储变量吗?我的意思是,速度差异会很小,我只是想知道。目前使用 javascript。
但我的一般想法是,如果数组长度是一个变量,那么最好先访问它并进行比较,如果不是更好地迭代作为 array.length 操作仍然会迭代数组以计数数字?
如果我随身携带文档就好了。
【问题讨论】:
-
为了遍历 both 数组,您需要知道它们的长度中的较小者(否则迭代何时停止?),因此您可以也可以利用这个机会比较它们的长度。
-
您可以验证字符串是否相同:array1.join()===array2.join()
-
当然要提前查好长度。您认为这样做可能不会更有效,或者不会降低效率,而不是在突然注意到一个数组更短之前检查 1000 个元素?
-
我认为长度存储在一个变量中。否则检查长度将是一项非常昂贵的操作。
标签: javascript arrays performance