为了账号安全,请及时绑定邮箱和手机立即绑定

题目数据是不是有误?

case9的arr1:null,arr2:null,这俩的类型肯定一致啊,为啥expect是false?
case11的arr1:"abc",arr2:"cba",这俩类型也一致,怎么expect又是false?

贴上我的代码:

function arraysSimilar(arr1, arr2){
    //判断两者是否都为数组,任意一个不是都返回false
    if(Object.prototype.toString.apply(arr1).slice(8,-1) !== "Array"
        || Object.prototype.toString.apply(arr2).slice(8,-1) !== "Array") return false;
    
    // 如果俩数组长度不等,也直接false
    if(arr1.length !== arr2.length) return false;
    
    //用于接收两个数组的每一项的类型
    var typeStr1=[],typeStr2=[];
    for(var i=0;i < arr1.length; i++){
        typeStr1.push(Object.prototype.toString.apply(arr1[i]));
        typeStr2.push(Object.prototype.toString.apply(arr2[i]));
    }
    //排序后组装成字符串,如果不一致则两个数组内的元素类型不一致,反之一致
    if (typeStr1.sort().toString() !== typeStr2.sort().toString()){
        return false;
    }else{
        return true;
    }
}


正在回答

1 回答

注意看题,这两个不是数组

1 回复 有任何疑惑可以回复我~
#1

阿名 提问者

好的,谢谢提醒!
2020-02-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

题目数据是不是有误?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信