【发布时间】:2013-08-19 02:57:35
【问题描述】:
例如,我有一个如下所示的数组:
var myArray = [[1,2,3],[1,2,3,4],[1,2],[1,2]];
我试图在myArray 中找到第一个最短的数组,在这种情况下是myArray[2]。
显然我可以编写一个循环,检查每个数组的长度并返回最小的那个。我想知道是否有一种非常干净或更简洁的方法可以在 javascript 中执行此操作。类似这样的东西:http://ejohn.org/blog/fast-javascript-maxmin/
谢谢!
【问题讨论】:
-
除非外部数组已排序或其他内容,否则您将始终需要循环。 Resig 的实现并不是真的更快(就复杂性而言),它只是比显式循环的代码更短。
-
没有。但是您可以在更新时使用伴随的哈希表和数组来索引和记录大小和顺序。创建一个行为类似于列表但实现返回最空容器的方法的类。您可以在将某些内容推入容器或弹出某些内容时更新此值。
标签: javascript