var input = 'HISFANTOR';
var output = [];
var char = input.split('');
for (var i = 0, len = char.length; i < len; i++) {
if (char[i] == 'H' || 'K' || 'Y' || 'V' || 'B' || 'C' || 'N' || 'O' || 'F' || 'P' || 'S' || 'I' || 'U'){
output.push(char[i]);
}else{
output.push('0');
}
}
console.log(output);Run Code Online (Sandbox Code Playgroud)
我先有案例,它可以工作,但是看起来太多了,所以我认为我尝试了一下,但还是得到了输入的输出
我期望的是:
["H", "I", "S", "F", "0", "N", "0", "O", "0"]
Run Code Online (Sandbox Code Playgroud)
模式
char[i] == 'H' || 'K' || 'Y'
Run Code Online (Sandbox Code Playgroud)
返回第一个真实值,它是与的比较,'H'如果比较为false,则取'K'。不使用所有其他字符串。
要检查字符是否在数组或字符串中,可以使用includes(Array#includes/ String#includes)根据数组或字符串检查给定值并返回true或false。
该提议使用的Array.from是一个字符串(基本上是任何可迭代对象,或者是一个具有length属性的对象),并返回一个字符数组。尽管此方法包含映射功能,但您可以检查字符并根据检查结果返回差异字符。
char[i] == 'H' || 'K' || 'Y'
Run Code Online (Sandbox Code Playgroud)
char[i] == 'H' || 'K' || 'Y'这不会检查char[i]每个字符,
你需要改变它
(char[i] == 'H') || (char[i] == 'K') || (char[i] == 'Y')
Run Code Online (Sandbox Code Playgroud)
或者你可以使用indexOf
(char[i] == 'H') || (char[i] == 'K') || (char[i] == 'Y')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
108 次 |
| 最近记录: |