问答详情
源自:1-6 编程练习

我的代码,测试通过

function arraysSimilar(arr1, arr2){

            var t_arr_type1 = Object.prototype.toString.call(arr1).toString().toLowerCase(),

            t_arr_type2 = Object.prototype.toString.call(arr2).toString().toLowerCase();

            console.log(t_arr_type1 + 'arr2 :'+t_arr_type2);

            if(t_arr_type1 == t_arr_type2 && t_arr_type1.indexOf('array')!=-1){


                try{

                    if(arr1.length != arr2.length){

                        return false;

                    }else{

                        var arr1Type = getArrayAllType(arr1),

                        arr2Type = getArrayAllType(arr2);

                        

                        if(arr1Type.length==arr2Type.length){

                            for(var j = 0;j<arr1Type.length;j++){

                                if(arr1Type.indexOf(arr2Type[j])==-1){

                                    return false;

                                }

                            }

                            return true;

                        }else{

                            return false;

                        }

                    

                    }


                }catch(e){

                    console.log(arr1);

                    console.log(arr2);

                }


                

            }else{

                return false;

            }

        }

        

        function getArrayAllType(arr){

            var arrType = [];


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

                var tmp_type = Object.prototype.toString.call(arr[i]).toString().toLowerCase();

                if(tmp_type.indexOf('number')!=-1){

                    arrType.push('number');

                }else if(tmp_type.indexOf('string')!=-1){

                    arrType.push('string');

                }else if(tmp_type.indexOf('function')!=-1){

                    arrType.push('function');

                }else if(tmp_type.indexOf('array')!=-1){

                    arrType.push('array');

                }else if(tmp_type.indexOf('null')!=-1){

                    arrType.push('null');

                }else if(tmp_type.indexOf('undefined')!=-1){

                    arrType.push('undefined');

                }else if(tmp_type.indexOf('boolean')!=-1){

                    arrType.push('boolean');

                }else if(tmp_type.indexOf('object object')!=-1){

                    arrType.push('object');

                }else if(tmp_type.indexOf('date')!=-1){

                    arrType.push('date');

                }else {

                    arrType.push('other');

                }

                

            }

            console.log(arrType);

            return arrType;

        }


提问者:Gean01 2017-07-26 20:07

个回答

  • 慕少9028407
    2017-08-06 14:06:31
    已采纳

    电脑端写笔记的时候  把截屏勾上

  • Gean01
    2017-07-27 18:01:18

    没有,只是给其他人参考。

    我只是不知道怎么像别人那样贴出来而已,所以放到了这里

  • are_you_ok_2017
    2017-07-27 12:27:54

    对呀,然而怎么了