Javascript数组如何比较?

时间:2013-06-06 06:47:00

标签: javascript arrays cmp

是否有标准定义了如何比较JavaScript,在Chrome控制台上我得到了这个

[10,0,0] > [1,0,0]
true
[10,0,0] > [5,0,0]
false
[5, 0, 0, 0] < [10, 0, 0, 0] //repeatable
false

[10,0,0,0] > [9,0,0,0]
false
[11,0,0,0] > [10,0,0,0]
true

这是非常不显眼的,我甚至无法理解正在应用什么逻辑,它们看起来可重复,所以看起来不是基于对象id(ref)等,所以有没有任何文档呢?

2 个答案:

答案 0 :(得分:4)

将JavaScript数组转换为字符串,然后比较字符串。如此。

[10,0,0].toString() => "10,0,0"
[5,0,0].toString() => "5,0,0"

字符串按字典顺序进行比较,因此&#34; 5,0,0&#34;大于&#34; 10,0,0&#34;。

答案 1 :(得分:1)

这样的事可能会对你有帮助,

JSON.stringify([2,2,2]) === JSON.stringify([2,2,2]); //true

干杯:)。