JS 比较两个数组是不是相等 是不是拥有相同元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 比较两个数组是不是相等 是不是拥有相同元素相关的知识,希望对你有一定的参考价值。

要判断JS中的两个数组是否相同,需要先将数组转换为字符串,再作比较。以下两行代码将返回true
<script type="text/javascript">
alert([].toString()== [].toString());
alert([].toString()===[].toString());
</script>
JS要比较两个数组是否有相同的元素,即两个数组所有元素都相同,但元素的顺序不一定一致。只就需要先将数组进行排序,再比较两个数组是否相等。
试比较以下两行代码:
<script type="text/javascript">
alert([1,2,3].toString()== [3,2,1].toString());
alert([1,2,3].sort().toString()== [3,2,1].sort().toString());
</script>
参考技术A

这里封装了一个函数库 jutils

/**

* 判断两个数组是否相等

*

* @since 0.1.0

* @category Array

* @param Array 要比较的数组

* @param other 另一个要比较的数组

* @returns boolean

* @example

*

* arrayEqual([0, 1],[1, 2])

* // => false

*/



判断两个数组是不是相等

参考技术A

如何比较两个数组内容是否相等
一、不能通过 \'==\' 或者 \'===\' 来判断两个数组是否相等

因为JavaScript里面,数组是对象,上面等式是判断两个数组是否是同一个引用对象;在JavaScript里面是没有内置判断两个数组相等的方法。

二、不推荐通过转换成字符串

当数组中有数字1,另一个数组中是字符串\'1\',如此两个数组就不相等了,此方法无效,反而会造成不必要的误导。

三、正确方法如下

四、两个对象是否相等

转自: https://www.cnblogs.com/-867259206/p/6795354.html

以上是关于JS 比较两个数组是不是相等 是不是拥有相同元素的主要内容,如果未能解决你的问题,请参考以下文章

请教如何比较两个hash是不是相同

JS判断两个对象内容是不是相等

两个空对象(空数组)为什么不相等

比较两个list里是不是有相同的元素

判断两个数组是不是相等

java怎么比较两个list是不是相同?