Javascript效率 - 'forEach'有多个'if'或'if'只允许'forEach'
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript效率 - 'forEach'有多个'if'或'if'只允许'forEach'相关的知识,希望对你有一定的参考价值。
我的问题是这个。假设我有一个名为A
的数组,我只希望根据条件进行某些操作。什么更有效:
一世)
A.forEach(x => {
if (condition1) {
//do stuff1
}
else if (condition2) {
//do stuff2
}
else if (condition3) {
//do stuff3
}
});
要么
II)
if (condition1) {
A.forEach(x => {
//do stuff1}
)}
}
else if (condition2) {
A.forEach(x => {
//do stuff2}
)}
}
else if (condition3) {
A.forEach(x => {
//do stuff3}
)}
}
还是有更好的方法来做我想要的事情?谢谢!
答案
首先测试条件,然后调用相关的forEach
。当然,假设条件与A中的特定指数无关。如果条件真实性取决于指数,那么你必须评估forEach
中的条件
即答案取决于conditionN
的构成
另一答案
根据提供的信息,无法确定是否有更高效的算法。
您的第二个选项仅检查条件1,2和3一次,但选项一检查它们n次。选项II看起来更像代码,但速度更快。
另一答案
我的建议使用Switch语句更好。
在这里阅读:Performance of if-else, switch or map based conditioning
A.forEach(x => {
//set values for condition
case condition1:
//your code
break;
case condition2:
//your code
break;
case condition3:
//your code
break;
}
以上是关于Javascript效率 - 'forEach'有多个'if'或'if'只允许'forEach'的主要内容,如果未能解决你的问题,请参考以下文章