Javascript 返回未定义的toLowerCase()

Javascript 返回未定义的toLowerCase(),javascript,Javascript,我有个奇怪的问题。 我有这样一个代码: for (var j = events.length - 1; j >= 0; j--) { var evtName = events[j].name.toLowerCase(); //Do something um evtName } 事件是一个包含JSON对象的数组 问题是,有时候evtName被设置为未定义,我不知道为什么。我试图将console.logevents[j].name+'-'+evtName;输出为: ENSAI

我有个奇怪的问题。 我有这样一个代码:

for (var j = events.length - 1; j >= 0; j--) {
    var evtName = events[j].name.toLowerCase();
    //Do something um evtName
}
事件是一个包含JSON对象的数组

问题是,有时候evtName被设置为未定义,我不知道为什么。我试图将console.logevents[j].name+'-'+evtName;输出为:

ENSAIO ABERTO - undefined
PERCUSSÃO TRADICIONAL PORTUGUESA - undefined 
VIAGEM À MÚSICA ANTIGA[CONCERTOS PARA TODOS] - undefined
A MÚSICA TOMA CONTA DE MIM - undefined
NOVIDADES SINFÓNICAS - undefined
OPTIMUS CLUBBING | THE PAINS OF BEING PURE AT HEART | SEBASTIAN DJ - undefined
ENSAIO ABERTO - undefined
DE GOUNOD A RAVEL - undefined 
ORQUESTRA SINFÓNICA DA ESMAE - undefined 
MÚSICA DE BOLSO[WORKSHOPS PRIMEIROS SONS] - undefined 
MISSÃO EM-POSSÍVEL [MÚSICA EM FAMÍLIA] - missão em-possível [música em família]
ENSAIO ABERTO - ensaio aberto 
CRIOLO - criolo 
OPTIMUS CLUBBING | SUPERNADA | THE MAGICIAN | JORI HULKKONEN - optimus clubbing |    supernada | the magician | jori hulkkonen 
我知道问题出在atribution var evtName=events[j].name.toLowerCase;因为如果我把console.logevents[j].name+'-'+events[j].name.toLowerCase;字符串已更正为“小写”

我试着把toString放在替补席上,但也没用

我需要把它放在一个变量中,因为我需要格式化它,更像是把首字母大写,等等

有什么帮助吗?提前谢谢


找到了。那是一个失踪的女孩{.控制台没有提醒它…我真的很抱歉耽误了你的时间,伙计们,感谢所有帮助过你的人

当你的字符串中有变音符号时,看起来好像发生了这种情况。你能用JSFIDLE上的一段代码重现这个问题吗?你能发布JSON数据本身吗?你能告诉我们你在哪里记录了名称和evtName吗?就在toLowerCase调用之后,或者中间是否有一些代码可能会弄乱evtName值,当然还包括函数。请提供生成示例输出和数据数组的完整代码。您在循环中重复var声明有什么原因吗?