JS 比较俩个数组是否相等

  • 比较 2 个数组是否包含相同的元素
  • @param a1 第一个数组
  • @param a2 第二个数组
  • @return boolean 两个数组中的元素都相等则返回 true,反之返回 false
function compareArray(a1, a2) {
           if (a1 === a2) return true;
           if ((!a1 && a2) || (a1 && ! a2)) return false;
           if (a1.length !== a2.length) return false;
          for (var i = 0, n = a1.length; i < n; i++) {
              if (a1[i] !== a2[i]) return false;
          }
              return true;
         }
  • 通过排序比较 2 个数组是否包含相同的元素
  • @param a1 第一个数组 ["a","b"]
  • @param a2 第二个数组 ["b","a"]
  • @return boolean 两个数组中的元素都相等则返回 true,反之返回 false
function compareArraySort(a1,a2){
    if ((!a1 && a2) || (a1 && ! a2)) return false;
    if (a1.length !== a2.length) return false;
        a1 = [].concat(a1);
        a2 = [].concat(a2);
        a1 = a1.sort();
        a2 = a2.sort();
    for (var i = 0, n = a1.length; i < n; i++) {
        if (a1[i] !== a2[i]) return false;
    }
    return true;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,958评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,766评论 18 399
  • FreeCodeCamp - Basic JavaScript 写在前面: 我曾经在进谷前刷过这一套题,不过当时只...
    付林恒阅读 16,526评论 5 28
  • 五天,离开龙丽后的第五天,说实在的,现在内心有种不敢去面对未来这一事实的忐忑。我经常内心问自己:“真的决定转行了...
    key23阅读 228评论 0 0
  • 算起来,告别简书也有一段时间。从进群写作到结业展示,一段忙碌又充实,在开阔眼界的时候还看到了不同的生活,认识了格...
    一路芬芳伴着花开阅读 209评论 2 0