题目数据是不是有误?

来源:1-6 编程练习

阿名

2020-02-08 22:49

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回答

  • mzyy
    2020-02-12 06:08:26
    已采纳

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

    阿名

    好的,谢谢提醒!

    2020-02-12 11:48:37

    共 1 条回复 >

JavaScript深入浅出

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

281112 学习 · 1020 问题

查看课程

相似问题