zoukankan      html  css  js  c++  java
  • 如何判断两个数组相同

    1、数组之间无法直接通过 ==或===判断是否相同

       解决思路:数组无法直接对比,但字符串可以啊

     1) 使用toString() 

    var a = [1, 2, 3];
    var b = [1, 2, 3];
    
    console.log(a.toString() === b.toString());  //true
    
    但数组是复合数组就不行了
    var a = [1, 2, {name: "zhang"}];
    var b = [1, 2, {name: "zhangss"}];
    
    console.log(a.toString() === b.toString());  //true (判断失败)

        2) 使用JSON.stringify()

    var a = [1, 2, 3];
    var b = [1, 2, 3];
    
    console.log(JSON.stringify(a) === JSON.stringify(b));  //true
    
    复合数组也可以判断
    var a = [1, 2, {name: "zhang"}];
    var b = [1, 2, {name: "zhangss"}];
    
    console.log(JSON.stringify(a) === JSON.stringify(b));  //false
    
    但数组位置变化无法判断
    var a = [2, 1, 3];
    var b = [1, 2, 3];
    
    console.log(JSON.stringify(a) === JSON.stringify(b));  //false (数组应该是相同的)
    
    解决办法很简单,使用数组的sort()就行
    var a = [2, 1, 3];
    var b = [1, 2, 3];
    
    console.log(JSON.stringify(a.sort()) === JSON.stringify(b.sort())); // true

      

  • 相关阅读:
    OSPF协议 LSAs
    OSPF协议基础
    交换机Access Trunk Hybrid端口
    网络地址转换 NAT
    访问控制列表 ACL
    路由协议 RIP
    动态路由协议
    static 变量
    Unix网络编程 -- ubuntu下搭建编译环境( 解决unp.h 编译等问题)
    linux 错误处理
  • 原文地址:https://www.cnblogs.com/wangjishu/p/14982786.html
Copyright © 2011-2022 走看看