虽然通过了,但是是不是还不够严谨啊?

来源:1-6 编程练习

chronosmaker

2020-02-04 11:44

function arraysSimilar(arr1, arr2) {
  if (!(arr1 instanceof Array && arr2 instanceof Array)) {
    return false;
  }
  if (arr1.length !== arr2.length) {
    return false;
  }
  return iterateArr(arr1) === iterateArr(arr2);
}

function iterateArr(arr) {
  return arr.map(getType).sort().join("");
}

function getType(data) {
  if (typeof data === "object") {
    return Object.prototype.toString.call(data);
  }
  return typeof data;
}


写回答 关注

1回答

  • DearRed
    2020-03-17 21:13:32

    我是这么写的,注意日期类型和null就行了

        arr1 = arr1.map(ele => {        
            return ele === null ? 'null' :            
            ele instanceof Date ?                
                'date' :                
            typeof ele    }).sort()    
        arr2 = arr2.map(ele => {        
            return ele === null ? 'null' :            
            ele instanceof Date ?                
            'date' :                
            typeof ele    }).sort()    
        const result = arr1.every((element,index) => element===arr2[index])
        return result


    DearRe...

    没写函数体,慕课网也不能自动换行,格式有点丑

    2020-03-17 21:15:22

    共 1 条回复 >

JavaScript深入浅出

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

281100 学习 · 1020 问题

查看课程

相似问题