myArray[项目].toUpperCase不是一个函数

myArray[items].toUpperCase is not a function

本文关键字:一个 函数 项目 toUpperCase myArray      更新时间:2023-09-26

当我运行下面的代码

<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,可以帮助我为什么会发生这种情况?

我不确定这将保证数组中元素的顺序。最好的解决方案是使用for循环(对性能和顺序都有好处):

for (var i=0, len=myArray.length; i<len; i++){
      msgupdate += myArray[i].toUpperCase()+' ';
}

使用

msgupdate = myArray.map(function (i) { return i.toUpperCase() }).join(' ');

使用for/in不是一个好主意,没有hasOwnProperty检查。