b}); 使用这种方法,我们将-6ren">
gpt4 book ai didi

javascript - 在比较器中使用 "less/greater than"比较运算符对字符串进行排序

转载 作者:搜寻专家 更新时间:2023-11-01 04:15:10 25 4
gpt4 key购买 nike

今天我发现了一个对我来说很奇怪的字符串排序实现:

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

使用这种方法,我们将有效的排序数组作为输出 - ["Chata", "Clata", "Data"]。但我不清楚为什么它会起作用......

我知道比较器函数需要三个不同的输出 - 零、大于零的整数、小于零的整数。但在这种情况下,我们只能取两个值 - true(如果 a 大于 b)或 false(如果 a 小于 b)(类型转换后为 1 或 0) .

谁能解释一下它为什么有效?

最佳答案

我不完全确定它是如何运作的。

编辑它实际上没有。

我使用 1000 个数字 (https://jsfiddle.net/alnitak/80cje6gt/) 生成了一个测试,但单个比较器没有生成正确的排序顺序:

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});

关于javascript - 在比较器中使用 "less/greater than"比较运算符对字符串进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34466125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com