当我在代码下面运行时
<script>
var name = "Hello moorthi";
var myArray = name.split(' ');
setTimeout(function(){
var nameDisplay='';
try {
for (var names in myArray){
nameDisplay += myArray[names].toUpperCase()+' ';
}
alert(nameDisplay);
}
catch(err){
console.log(err.message);
}
},
1000);
</script>
在chrome中获取 undefined不是函数错误,可以帮助我为什么会这样?
答案 0 :(得分:1)
使用
msgupdate = myArray.map(function (i) { return i.toUpperCase() }).join(' ');
使用for/in
并不是一个好主意,没有hasOwnProperty
检查。
答案 1 :(得分:1)
我不确定这是否能保证数组中元素的顺序。最好的解决方案是使用for循环(性能和顺序):
for (var i=0, len=myArray.length; i<len; i++){
msgupdate += myArray[i].toUpperCase()+' ';
}