使用js记录以字母查询开头的单词

时间:2016-09-04 21:58:12

标签: javascript

尝试记录所有以“b”开头的单词。 我收到以下错误: 未捕获的TypeError:query [i] .charAt不是函数。 不知道我做错了什么。

    var query= [34,"beer","bbq","bees","aa","cc", "bb"];


   for(var i=0;i<=query.length;i++){
       if(query[i].charAt(0)=="b"){
           console.log(query[i]);
       }
   }

2 个答案:

答案 0 :(得分:4)

问题是数组中的第一个元素是数字。 charAt仅为字符串定义。试试这个

var query= ["34","beer","bbq","bees","aa","cc", "bb"];

或者,您可以将query[i].charAt(0)=="b"更改为(query[i]+"").charAt(0)=="b"。这将为数组的每个元素,将其转换为字符串,然后您可以在其上调用charAt

答案 1 :(得分:1)

使用charAt()将您的行更改为:

if ( /^b/.test( query[i] ) ) {

此外,你的for循环中有一个错误,它应该是:

for(var i=0;i<query.length;i++){

因为你从索引0开始...