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

通过了,但是觉得 会不会这写法太臃肿了?


function arraysSimilar(arr1, arr2){

            var result = false;

            var arr1Type = Object.prototype.toString.call(arr1);

            var arr2Type = Object.prototype.toString.call(arr2);

            var typeObj={}; 

            if(arr1Type=='[object Array]'&&arr2Type=='[object Array]'){

                result = arr1.length==arr2.length;

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

                    var type = Object.prototype.toString.call(arr1[i]);

                    typeObj[type] = true;

                }

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

                    var type = Object.prototype.toString.call(arr2[i]);

                    if(typeof typeObj[type]!=="undefined"){

                        result = true;               

                    } else {

                         result =false;

                         return result;

                    }

                }

            }            

            return result;

        }



提问者:freewings 2019-12-08 21:29

个回答

  • qq_慕九州1589341
    2020-01-03 10:41:51

    你确定你这个能通过吗 arr.length不会报错?而且arraysSimilar([{},{},{}],[{},{},null])返回false结果不对

  • 慕先生2131818
    2019-12-19 15:39:51

    ?不臃肿