我正在尝试比较 javascript 中的两个数组。
我想要的是:
a < b ⇔ ∃ i ≥ 0 st a[i] < b[i] 并且∀ 0 ≤ j < i, a[j] = b[j]
因此,非负数数组按需要工作:
firebug> [0,1,2,3,4] < [1,0,0]
true
并按预期将负数与零进行比较:
firebug> [-1, 1] < [0, 0]
true
但是将负数与负数进行比较是......令人惊讶:
firebug> [-2] < [-1]
false
firebug> -2 < -1
true
这里发生了什么,所以我可以纠正我对javascript中数组比较意味着什么的直觉?