JavaScript正式条件定义的数组比较

时间:2019-02-02 11:09:55

标签: javascript arrays

今天在a = pd.DataFrame(array_x) b = pd.DataFrame(array_y) c = pd.concat([a,b],axis = 1) 上处理任务,我发现JS开箱即用,具有强大的数组比较功能:

JavaScript

这将导致对带有字符串的二维数组进行快捷排序

console.log(["a","b"] > ["a","aa"] && ['a','aa'] < ['a', 'cc']) // true

console.log([["a","aa"],['b','bb'],["a","c"],['b',"ab"],['b',"a"]].sort()) /* [ [ 'a', 'aa' ], [ 'a', 'c' ], [ 'b', 'a' ], [ 'b', 'ab' ], [ 'b', 'bb' ] ]*/ 自动对具有相似第一个元素的子数组进行排序。 现在,我正在寻找正式定义 JavaScript如何比较两个数组。

谢谢

2 个答案:

答案 0 :(得分:3)

通过使用Array#sort,您将获得以下Description以使用参数compareFunction

  

如果未提供compareFunction,则通过将所有未定义的数组元素转换为字符串并按UTF-16代码单位顺序比较字符串来对它们进行排序。例如,“香蕉”在“樱桃”之前。在数字排序中,9在80之前,但是由于数字被转换为字符串,因此“ 80”在Unicode顺序中在“ 9”之前。所有undefined元素都排在数组的末尾。

结果是一个看起来像已排序的数组,至少对于第一个元素,除非这些元素包含逗号。

答案 1 :(得分:1)

sort()方法对数组中的元素进行排序并返回该数组。默认排序顺序是在将所述元件成字符串,然后比较它们的UTF-16代码单元的值序列构建的。

请参见Array.prototype.sort()