我试图将大写元素登录到控制台,但是每次控制台都会引发此错误:TypeError:arrayNames [i] .toUpperCase不是函数
var hello = "Hello, ";
var arrayNames = [];
function greet(name) {
if (name == null) {
console.log(hello + "my friend");
}
//Requirement UpperCase
arrayNames.push(name);
for (var i = 0; i < arrayNames.length; i++) {
if (arrayNames[i] === arrayNames[i].toUpperCase()) {
console.log(hello.toUpperCase() + arrayNames[i].toUpperCase());
}
}
//Requirement last element
if (arrayNames.length > 1) {
var lastElement = arrayNames.pop();
console.log(hello + arrayNames + " and " + lastElement);
}
else {
console.log(hello + arrayNames);
}
}
greet(["James", "Julie", "BEN"]);
最佳答案
您正在数组上使用toUpperCase。
问题是这一行:
arrayNames.push(name);
您正在创建多维数组。
使用
arrayNames = name;
代替。