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

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

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

我是这么写的,注意日期类型和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


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

DearRed

没写函数体,慕课网也不能自动换行,格式有点丑
2020-03-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

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