所以我有兩個函數。我會都張貼在這裏: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
函數將非常好。沒問題。
隨着第二個功能,我希望能夠採取一個字符串和每個字符做同樣的事情。例如,wordToNato("ABC123")
將是"Alpha Bravo Charlie One Two Three"
。這是出現問題的地方。每次我嘗試在控制檯通過調用wordToNato
運行此它帶來的錯誤信息
ch.match不是一個函數
所以我不知道是怎麼回事錯誤...請幫助
你永遠不會調用'ch.match',其中該錯誤信息是從哪裏來的?另外,你正在做'x = x.match(/ [0-9]/g)',這有點奇怪。你確定你想做任務還是你想要做比較? – vlaz