Sort strings by using “less/greater than” comparison operators in comparator

后端 未结 2 1718
长发绾君心
长发绾君心 2020-12-21 00:00

Today I found a strange for me implementation of strings sorting:

[\'Data\', \'Chata\', \'Clata\'].sort(function(a, b) { return a > b});

2条回答
  •  甜味超标
    2020-12-21 00:47

    I'm not entirely sure how it manages to work.

    EDIT it actually doesn't.

    I produced a test using 1000 numbers (https://jsfiddle.net/alnitak/80cje6gt/) and the single comparator doesn't produce the correct sort order:

    var m = 0;
    a.sort(function(a, b) { ++m; return a > b} );
    
    var n = 0;
    b.sort(function(a, b) { ++n; return a < b ? -1 : a > b ? 1 : 0});
    

提交回复
热议问题