有人可以帮我找到一个更好的替代这个Javascript for循环我写的吗?

Gho*_*ell 2 javascript loops for-loop

提前感谢任何能够更有效或更好地完成我的Javascript代码操作的人:

var availableCharacters=Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9");

for (counter=0; counter<availableCharacters.length; counter++){
  if(availableCharacters[counter]=="i"||
     availableCharacters[counter]=="l"||
     availableCharacters[counter]=="I"||
     availableCharacters[counter]=="L"||
     availableCharacters[counter]=="1"||
     availableCharacters[counter]=="0"||
     availableCharacters[counter]=="O"){
      availableCharacters.splice(counter, 1);
    }
}
Run Code Online (Sandbox Code Playgroud)

我要做的是运行一个数组并删除该数组中"i","l","I","L","1","0"或"O"的所有元素.虽然这确实有效,但似乎它可能很慢而且有点麻烦.如果有更好的方法?如果不是那么不是问题,但大多数时候,当我做一些对我来说不合适的事情时,事实并非如此!所以我想我会问

谢谢 :)

Nie*_*sol 6

更新的浏览器支持Array.filter:

var availableCharacters = ........;
availableCharacters = availableCharacters.filter(function(a) {
  return !a.match(/[ilLI10O]/);
});
Run Code Online (Sandbox Code Playgroud)

然而,对于较旧的浏览器,Mark Linus给出的for循环是好的.