JS判断两个数组或对象是否相同的方法示例

  

本文实例讲述了JS判断两个数组或对象是否相同的方法。分享给大家供大家参考,具体如下:

  

<强> JS判断两个数组是否相同

  

要判断两个数组是否相同,首先要把数组进行排序,然后转换成字符串进行比较。

        JSON.stringify ([1, 2, 3] .sort ())===JSON.stringify ((3,2,1) .sort ());//正确的      之前      

或者         (1、2、3).sort () .toString ()===(3,2,1) .sort () .toString ();//正确的      之前      

经验证,上述方法对复杂数组结构不适用。

  

<强> JS判断两个对象是否相同

  

这是网上某大神封装对比对象是否相同的功能。

        让cmp=(x, y)=比;{//如果x和y是null或未定义的和完全一样   if (x===y) {   返回true;   }//如果不严格相等,它们都需要对象   如果(!(x instanceof对象)| | !(y instanceof对象)){   返回错误;   }//他们必须有相同的原型链,最接近我们所能做的就是//构造函数测试。   如果(x)。构造函数!==y。构造函数){   返回错误;   }   在x p (var) {//使用x继承的属性进行了测试。构造函数===y.constructor   如果(x)。hasOwnProperty (p)) {//允许比较x [p] y [p]当设置为定义   如果(!y。hasOwnProperty (p)) {   返回错误;   }//如果他们有相同的严格的价值或认同他们是平等的   if (x (p)===y [p]) {   继续;   }//数字、字符串、函数、布尔值必须严格相等   如果(typeof (x [p]) !==岸韵蟆?{   返回错误;   }//对象和数组必须递归地进行测试   如果(!对象。equals (x [p] y [p])) {   返回错误;   }   }   }   (p y) {//允许x [p]被设置为定义   如果(y)。hasOwnProperty (p),,! x。hasOwnProperty (p)) {   返回错误;   }   }   返回true;   };      之前      

经检测,同样也不支持复杂数据结构的对象。

  

一般情况下用的话上述2种方法已经够用了,拿来作比较的一般都是简单的数据结构。

  

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》,《JavaScript遍历算法与技巧总结》,《JavaScript面向对象入门教程》、《JavaScript数学运算用法总结》,《JavaScript数据结构与算法技巧总结》及《JavaScript错误与调试技巧总结》

  

希望本文所述对大家JavaScript程序设计有所帮助。

JS判断两个数组或对象是否相同的方法示例