JavaScript 排序数组 JavaScript 中的字符串数组排序

2025-06-08

JavaScript 排序数组JavaScript 中的字符串数组排序

替代文本

对字符串数组进行排序

JavaScript 数组有一个sort()方法,可以按字母顺序对数组项进行排序。

下面说明了sort()方法的语法:



Array.sort([comparer])


Enter fullscreen mode Exit fullscreen mode

sort ()方法接受一个可选参数,该参数是一个比较数组两个元素的函数。

如果省略比较函数,则sort()方法将根据元素值对元素进行排序。

元素值规则:

1.如果compare(a,b)小于零,sort()方法会将a排序到比b更低的索引位置。换句话说,a将排在最前面。2
.如果compare(a,b)大于零,sort()方法会将b排序到比a更低的索引位置,也就是说,b将排在最前面。3
.如果 compare(a,b)返回零,sort()方法认为 a 等于 b,并保持它们的位置不变。

另请注意,sort()方法接受两个参数并将返回一个确定排序顺序的值,以下表示语法:



function compare (a, b) {
   / …
}


Enter fullscreen mode Exit fullscreen mode

注意:请记住,您可以根据需要命名函数,但请尝试使名称对您试图通过该函数表达的意思有意义,以便于参考。

对字符串数组进行排序让我们使用名为animals
的字符串数组进行练习,如下所示:



var animals = [
    'cat', 'dog', 'elephant', 'bee', 'ant'
];


Enter fullscreen mode Exit fullscreen mode

要按字母顺序对动物数组的元素进行升序排序,我们需要使用sort()方法而不传递 compare 函数,如示例中所示:



animals.sort();
console.log(animals);
// ["ant", "bee", "cat", "dog", "elephant"]


Enter fullscreen mode Exit fullscreen mode

要按降序对动物数组进行排序,您需要更改比较函数的逻辑并将其传递给sort()方法,如下例所示。



// descending order
animals.sort(function (a, b) {
    if (a > b) {
        return -1;
    }
    if (b > a) {
        return 1;
    }
    return 0;
});
console.log(animals);
// ["elephant", "dog", "cat", "bee", "ant"]


Enter fullscreen mode Exit fullscreen mode

当然,这只是对数组元素进行排序的一小部分,因为我们还可以使用sort()方法按大小写、数字和对象属性进行排序。

鏂囩珷鏉ユ簮锛�https://dev.to/banesag/sorting-arrays-of-strings-in-javascript-2g11
PREV
我最喜欢的 7 个 VS Code 扩展(尚未有人提及)
NEXT
一些可以帮助你成为自学成才的开发人员的技巧