gpt4 book ai didi

javascript - 测试一系列项目的最佳方式

转载 作者:行者123 更新时间:2023-11-30 00:26:23 27 4
gpt4 key购买 nike

我正在寻找一些关于简单模式的建议。也就是说,根据某些测试检查一系列事物。需要在 IE8+ 上运行

通常,我会做一些看起来适合小型测试的简单操作(即 < 3 项):

if (someTest === 'one' || someTest === 'two' || someTest === 'three' ) {
// do something
}

但最近我一直在考虑其他方法来做同样的事情:

var arrayOfSomething= ['one', 'two', 'three', 'four'];
var arrayLength = arrayOfSomething.length;
for (var i = 0; i < arrayLength; i++) {
if ( someTest === arrayOfSomething[i]) {
// do something
}
}

第一种方法看起来更具可读性,实际上需要的代码更少(假设列表很小)并且不需要两个额外的变量。第二种方法效率更高,冗余更少,但也更复杂且可读性差。

我是不是想多了?有最优方法吗?

最佳答案

IE8 不支持 indexOf

要跨浏览器,请使用 https://api.jquery.com/jQuery.inArray/

if ($.inArray(someTest,arrayOfSomething) > -1) {
// do something
}

编辑

来自 JQuery 源代码:

inArray: function( elem, arr, i ) {
var len;

if ( arr ) {
if ( indexOf ) {
return indexOf.call( arr, elem, i );
}

len = arr.length;
i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;

for ( ; i < len; i++ ) {
// Skip accessing in sparse arrays
if ( i in arr && arr[ i ] === elem ) {
return i;
}
}
}

return -1;
},

关于javascript - 测试一系列项目的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31269328/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com