问答详情
源自:3-8 编程练习

for(var i in arr)遍历数组出错

    var  arr = ['*','##',"***","&&","****","##*"];
    arr[7] = "**";
    alert(arr.length);
    for(var i in arr){
        if(arr[i][0]=="*"){
        console.log(arr[i]);
        }
    }

for遍历数组的时候  得出的结果是:

*
***
****
**

提问者:慕田峪0485632 2018-01-14 09:11

个回答

  • qq_XJW_0
    2018-01-14 10:23:24

      var tmp = new Array(); //存储 排序后的图案;

       for(var i in arr){

           if(arr[i][0]=='*'){ // 判断数组第1个字符是否包含 *

            tmp[i] = arr[i];

           }

       }

       tmp.sort();  //排序

       for(var i in tmp){

           document.write(tmp[i]+"<br/>");