我写的一个类型判断,不知道哪里错了什么都不显示,这个题目http://www.imooc.com/code/5760

来源:1-6 编程练习

背身大海

2016-05-23 23:18

var arr1=[null,false,100],arr2=[1,true,null]; 

      function arraysSimilar(arr1, arr2){

             if(!(arr1 instanceof Array) || !(arr2 instanceof Array)){return false;}

   if(arr1.length!==arr2.length){ return false;}

var a=[],b=[];

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

    if(arr1[i]!==null){ a.push(arr1[i]);

               }else{a.push(typeof arr1[i]);  

      }

if(arr2[i]==null){

    b.push(arr2[i]);

    }else{

    b.push(typeof arr2[i]);   

}             var cc = (a.join("").sort().toString()==b.join("").sort().toString())?true:false;

 alert(cc+"弹");

             return cc;

}

 

        }


写回答 关注

3回答

  • 夜空的守望者
    2016-05-24 14:58:08
    已采纳

    你这是想对比两个数组么?  我目前看到的,首先你arraysSimilar函数没有执行。其次你   alert(cc+"弹");  后半段中英文格式错了。  然后a.join("").sort().toString()==b.join("").sort().toString()这句是干嘛?JQ的写法

    背身大海

    嗯嗯,执行函数忘记写上去了, alert(cc+"弹")格式? ,还有a.join("").sort().toString()==b.join("").sort().toString(),这句是想用来对比他们的值,原本是想先去掉分隔符然后toString()再对比的!!!不知道为什么不可以这样写 ?小白,求解。

    2016-05-24 22:49:53

    共 2 条回复 >

  • 九心_rosem
    2016-08-31 19:16:20

    这个方法对了吗?求解

  • 背身大海
    2016-05-24 22:47:50

    嗯嗯,执行函数忘记写上去了, alert(cc+"弹")格式? ,还有a.join("").sort().toString()==b.join("").sort().toString(),这句是想用来对比他们的值,原本是想先去掉分隔符然后toString()再对比的!!!不知道为什么不可以这样写 ?小白,求解。

JavaScript深入浅出

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

281112 学习 · 1020 问题

查看课程

相似问题