在javascript中查看数组中每个字符串的第一个字母

时间:2017-12-11 22:46:15

标签: javascript charat

我正在尝试评估天气用户输入字符串中的任何单词都以" @"开头。

我开始将输入字符串分成一个单词数组。 然后循环查看第一个字母的每个单词,看看它是否是" @"。

我无法弄清楚为什么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>

1 个答案:

答案 0 :(得分:0)

var inputArray = [text.split(" ")];似乎是罪魁祸首。 text.split(" ")将返回一个数组,因此通过将该语句包装在括号中,您将获得一个数组,其第一个索引是您正在寻找的数组。

因此,for循环中的inputArray[i]实际上是在字符串数组上执行charAt(0),而不是字符串本身。