【发布时间】:2012-05-15 18:46:33
【问题描述】:
假设您要检查用户在表单字段中输入的输入字符串。哪一种方法是根据可能值列表检查此输入的最快方法?
以下示例使用 jQuery。
第一种方法:使用||
if (input == "firstValue" || input == "secondValue" || ... ) {
...
}
第二种方法:使用inArray()
if ($.inArray(input, array) >= 0) {
...
}
这两种方法有什么显着差异吗?
【问题讨论】:
-
两者都具有 O(n) 最坏情况复杂度,其中 n 是您正在测试的事物的数量,唯一的性能提升是一个不是函数调用,而另一个是。
-
你说的真的是 JavaScript 吗?
-
然而,在实际层面上,我更倾向于
inArray()之类的东西,因为它对于大型复核数据集具有更大的动态潜力。以及更容易阅读。试想一下,如果我们有 10 个左右的值要反查! :D -
@Niko ~ 实际上可能是 jQuery。 api.jquery.com/jquery.inarray
-
@Niko LOL 抱歉,标签错误:D 已编辑
标签: javascript jquery performance