【问题标题】:IndexOf a whole Array and alert namesIndexOf 整个数组和警报名称
【发布时间】:2013-03-08 09:13:51
【问题描述】:

我正在尝试在 html 文件中编写以下 javascript。

创建一个包含 10 个运动队名称的数组。

然后使用“for 循环”遍历数组。如果团队名称包含字母“an”,则提醒团队名称。我想使用“indexOf”函数来判断队名中是否包含“an”。

这是我走了多远:

    // index:                                   
    var NHL = new Array("New Jersey Devils", "New York Islanders", 
                       "New York Rangers", "Philadelphia Flyers", 
                       "Pittsburgh Penguins", "Boston Bruins", 
                       "Buffalo Sabres", "Montreal Canadiens" , 
                       "Ottawa Senators", "Toronto Maple Leafs");

    for( i=0 , i<NHL.indexOf("an") , i++ ){
      if(NHL.indexOf == "an"){
          alert(indexOf)
      }
    }

【问题讨论】:

    标签: javascript arrays loops for-loop indexof


    【解决方案1】:

    indexOf(str) 将返回非负索引。如果子字符串不存在,它将返回 -1,否则它将返回该字符串的第一次出现。

    var NHL = new Array("New Jersey Devils", "New York Islanders", 
              "New York Rangers", "Philadelphia Flyers", "Pittsburgh Penguins", 
              "Boston Bruins", "Buffalo Sabres", "Montreal Canadiens" , 
              "Ottawa Senators", "Toronto Maple Leafs"); 
    
    for(i=0; i<NHL.length; i++)
    {
        if(NHL[i].indexOf("an") !== -1)
            alert(NHL[i]);
    }
    

    【讨论】:

    • 非常感谢!您的代码完美运行。我现在知道哪里出错了。
    【解决方案2】:
    var NHL = new Array("New Jersey Devils", "New York Islanders", "New York Rangers", "Philadelphia Flyers", "Pittsburgh Penguins", "Boston Bruins", "Buffalo Sabres", "Montreal Canadiens" , "Ottawa Senators", "Toronto Maple Leafs");
    
    for(var i=0, len=NHL.length; i<len; i++ ){
      var name=NHL[i];
      if(name.indexOf("an")>-1){
          alert(name);
      }
    }
    

    【讨论】:

      【解决方案3】:

      给你:

      var NHL = new Array("New Jersey Devils", "New York Islanders", "New York Rangers", "Philadelphia Flyers", "Pittsburgh Penguins", "Boston Bruins", "Buffalo Sabres", "Montreal Canadiens" , "Ottawa Senators", "Toronto Maple Leafs");
      
      for (var i=0; i<NHL.length; i++){
          if(NHL[i].indexOf("an") !== -1){
              alert(NHL[i]);
          }
      }
      

      【讨论】:

        【解决方案4】:
        var NHL = new Array("New Jersey Devils", "New York Islanders", 
        "New York Rangers", "Philadelphia Flyers", "Pittsburgh Penguins", 
        "Boston Bruins", "Buffalo Sabres", "Montreal Canadiens" , 
        "Ottawa Senators", "Toronto Maple Leafs"); 
        
        /** 
         * Iterate through each array element,
         * Check against 'an', indexOf returns -1
         * if no match found.
        **/
        for( var i=0 ; i < NHL.length; i++ ) {
             if ( NHL[i].indexOf("an") !== -1 ) 
                    alert( "This " + NHL[i] + " Contains 'an' at array index: " + i );
        }
        

        jsFiddlehttp://jsfiddle.net/HqXSs/1/

        【讨论】:

        • 非常感谢。你的代码也很好用。方法略有不同,但结果相同。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多