Javascript if-else循环?

Javascript if-else循环?,javascript,loops,if-statement,Javascript,Loops,If Statement,我肯定可能有,但我不确定它叫什么,所以如果这是超级相似的东西,我道歉。我想知道是否有更快的方法来编写以下代码: var b = "#ff0002"; var o = "#46c029"; var i = "#f2ec00"; var n = "#f64c98"; var g = "#52c6f3"; if(a==1){ return b; }else if(a==2){ return o; }else if(a==3){ return i; }else if(a==4)

我肯定可能有,但我不确定它叫什么,所以如果这是超级相似的东西,我道歉。我想知道是否有更快的方法来编写以下代码:

var b = "#ff0002";
var o = "#46c029";
var i = "#f2ec00";
var n = "#f64c98";
var g = "#52c6f3";

if(a==1){
    return b;
}else if(a==2){
    return o;
}else if(a==3){
    return i;
}else if(a==4){
    return n;
}else if(a==5){
    return g;
}
是的,查找数组:

return [b, o, i, n, g][a - 1];

不一定要快,但一定要短:)

如果您有大量字符串要从使用
Object
进行比较,如下所示:

myObj={1:#ff0002',2:#46c029',3:#f2ec00',4:#f64c98',5:#52c6f3}

console.log(myObj[3])它被称为switch语句。或者一个潜在的查找映射也可以工作。这里没有循环。循环是
的while
,在这里你重复做一些事情直到满足某个结束条件。太棒了!太干净了,谢谢你。是的,我没想到会更快,但我知道会更快clean@liam很乐意帮忙:)第一个字母没有颜色的原因是什么我已经包括了整个脚本,以防它是由其他原因引起的issue@liam在你最初的问题中,
a
是1得到
b
,但是现在你的
count
0
开始,在这种情况下,只需删除
-1
@liam不用担心:)但是“boing”呢,如果这真的更快,我会感兴趣,否则它会更长script@Liam如果您没有大量字符串/比较,请使用Jonas W的解决方案。不用担心,谢谢!这是方便的,虽然我开始这个线程,以涵盖我未来的轨道,当我扩展到更多的数字