私は2つの機能を持っています。Javascript "ch.matchは関数ではありません"
//A
var ltrToNato = function(ch) {
var x = ch
var nato =
('{"A": "Alpha", "B": "Bravo", "C": "Charlie", "D": "Delta", "E": "Echo", "F": "Foxtrot", "G": "Golf", "H": "Hotel", "I": "India", "J": "Juliet", "K": "Kilo",\
"L": "Lima", "M": "Mike", "N": "November", "O": "Oscar", "P": "Papa", "Q": "Quebec", "R": "Romeo", "S": "Sierra", "T": "Tango", "U": "Uniform", "V": "Victor",\
"W": "Whiskey", "X": "X-Ray", "Y": "Yankee", "Z": "Zulu", "0" : "Zero", "1" : "One", "2" : "Two", "3" : "Three", "4" : "Four", "5" : "Five", "6" : "Six",\
"7" : "Seven", "8" : "Eight", "9" : "Niner"}')
var natoLower = nato.toLowerCase()
var natoAlpha = JSON.parse(nato)
var natoAlphaLower = JSON.parse(natoLower)
if (ch >= "A" && ch <= "Z")
return natoAlpha[ch]
else if (ch >= "a" && ch <= "z")
return (natoAlphaLower[ch])
else if (x = x.match(/[0-9]/g))
return natoAlpha[ch]
else
return x
}
//B
var wordToNato1 = function(str) {
var s = ""
for (var i = 0; i <= str.length; i++) {
s + ltrToNato(i)
}
}
最初の機能では、任意の文字または数字を受け取り、そのナイトフォームを返す必要があります。従って"A"
はAlpha
となり、"9"
はNiner
となります。 ltrToNato
関数は完全にうまくいくでしょう。問題はありません。
2番目の機能では、文字列を取り、すべての文字で同じことをしたいと思っています。したがって、たとえばwordToNato("ABC123")
は"Alpha Bravo Charlie One Two Three"
となります。これは何かが間違っているところです。私はそれがエラーメッセージ
ch.matchが助けてください...だから、私は間違って何が起こっているか見当がつかない機能
ないもたらすwordToNato
を呼び出すことで、コンソールでこれを実行しようと毎回位置ではなく、ループインデックスの値の文字で
あなたは、そのエラーメッセージがから来ている 'ch.match'、呼び出すことはありませんか?また、 'x = x.match(/ [0-9]/g)'は少し奇妙です。あなたは本当に譲渡したいのですか、それとも比較をしたいのですか? – vlaz