我正在尝试评估天气用户输入字符串中的任何单词都以" @"开头。
我开始将输入字符串分成一个单词数组。 然后循环查看第一个字母的每个单词,看看它是否是" @"。
我无法弄清楚为什么charAt()似乎会返回错误。
<!DOCTYPE html>
<html>
<body>
<input id="txt" type="textarea" />
<button onclick="myFunction()">Try it</button>
<script>
function myFunction (){
var text = document.getElementById('txt').value;
var inputArray = [text.split(" ")];
console.log(inputArray);
for(i=0; i < inputArray.length; i++){
console.log(inputArray[i]);
if(inputArray[i].charAt(0) === '@'){
console.log("its an at symbol");
} else{
console.log("nope");
}
}
}
</script>
</body>
</html>
答案 0 :(得分:0)
行var inputArray = [text.split(" ")];
似乎是罪魁祸首。 text.split(" ")
将返回一个数组,因此通过将该语句包装在括号中,您将获得一个数组,其第一个索引是您正在寻找的数组。
因此,for循环中的inputArray[i]
实际上是在字符串数组上执行charAt(0)
,而不是字符串本身。