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

不知道有没有考虑全面

function arraysSimilar(arr1, arr2){            
    if(arr1.length != arr2.length) return false;            
    function processData(arr){                
        var _arr = [];                
        for(var i = 0; i < arr.length; i++){                    
            _arr.push(Object.prototype.toString.call(arr[i]));                
        }                
        return _arr.sort().join(',');            
    }                       
    return processData(arr1) === processData(arr2);        
}


提问者:慕田峪2351594 2020-05-26 09:54

个回答

  • Max
    2020-11-15 22:28:52

    ?没有格式化

  • Max
    2020-11-15 22:27:56

    function arraysSimilar(arr1, arr2){
    if(arr1.length != arr2.length) return false;
    let arr1type = typeStrArr(arr1);
    let arr2type = typeStrArr(arr2);
    let status = true;
    arr1type.forEach(item => {
    let isHas = arr2type.find(el => item == el);
    if(!isHas){
    status = !!isHas;
    return;
    }
    })
    return status;
    function typeStrArr(array){
    let arr = [];
    array.forEach(item => {
    let t = Object.prototype.toString.call(item).slice(8, -1);
    arr.push(t)
    })
    return arr;
    }
    }


  • Max
    2020-11-15 22:23:13

    哥们你没有考虑顺序问题