所以我有两个函数。我会都张贴在这里: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