在这个答案中,有一个简单的函数,用于返回包含原始值的数组的数组相等性。
然而,我不确定它为什么有效。下面是该函数:
然而,我不确定它为什么有效。下面是该函数:
function arrays_equal(a,b) { return !!a && !!b && !(a<b || b<a); }
我主要关注后半部分,即这一部分:
!(a<b || b<a)
为什么在比较数组时使用<
和>
能够生效,但使用==
却不行?
JavaScript中的小于和大于方法是如何工作的?
JSON.stringify(a) == JSON.stringify(b)
。 - gilly3JSON.stringify([function(){}]) == JSON.stringify([,]) // true
。 - user1106925