JavaScript将对象数组按字母顺序排序的方法详解

2023-12-01 0 290
目录
  • sort 用法
    • 语法
    • 参数值
    • 兼容性
    • 举例
      • 排序数组
      • 按升序排序
      • 按降序排序
  • if 条件语句 + sort()
    • localeCompare() + sort()
      • Collator() + sort()

        里给出三种解决方案:

        1.if条件语句 + sort()2.localeCompare() + sort()3.Collator() + sort()

        sort 用法

        语法

        array.sort(compareFunction)

        参数值

        参数描述compareFunction可选。定义替代排序顺序的函数。该函数应返回负值、零值或正值,具体取决于参数,例如:function(a, b){ return a – b }sort() 方法比较两个值时,将值发送给比较函数,根据返的(负、零、正)值对值进行排序。举例:比较 40 和 100 时,sort() 方法调用比较函数(40,100)。该函数计算 40-100,并返回 -60(负值)。sort 函数会将 40 排序为小于 100 的值。

        sort() 方法会改变原始数组。

        兼容性

        Chrome、IE、Edge、Firefox、Safari、Opera 等 都支持 sort() 方法。

        举例

        排序数组

        var fruits = [\”Banana\”, \”Orange\”, \”Apple\”, \”Mango\”];
        var tzy = fruits.sort();
        console.log(tzy);

        输出如下:

        JavaScript将对象数组按字母顺序排序的方法详解

        按升序排序

        var points = [66, 100, 3, 10, 250, 88, 77];
        var tzy = points.sort((a, b)=> a – b);
        console.log(tzy);

        输出如下:

        JavaScript将对象数组按字母顺序排序的方法详解

        按降序排序

        var points = [66, 100, 3, 10, 250, 88, 77];
        var tzy = points.sort((a, b)=> b – a);
        console.log(tzy);

        输出如下:

        JavaScript将对象数组按字母顺序排序的方法详解

        if 条件语句 + sort()

        var list = [
        { FirsName: \”Aaron\”, LastName: \”Baker\” },
        { FirstName: \”Bert\”, LastName: \”Green\” },
        { FirstName: \”Larry\”, LastName: \”White\” },
        { FirstName: \”Victor\”, LastName: \”Fox\” },
        ]
        function sortArray(x, y) {
        if (x.LastName < y.LastName) { return -1; }
        if (x.LastName > y.LastName) { return 1; }
        return 0;
        }
        var tzy = list.sort(sortArray);
        console.log(tzy);

        输出如下:

        JavaScript将对象数组按字母顺序排序的方法详解

        localeCompare() + sort()

        var list = [
        { FirsName: \”Aaron\”, LastName: \”Baker\” },
        { FirstName: \”Bert\”, LastName: \”Green\” },
        { FirstName: \”Larry\”, LastName: \”White\” },
        { FirstName: \”Victor\”, LastName: \”Fox\” },
        ]
        function sortArray(x, y) {
        return x.LastName.localeCompare(y.LastName)
        }
        var tzy = list.sort(sortArray);
        console.log(tzy);

        输出如下:

        JavaScript将对象数组按字母顺序排序的方法详解

        如果对象目标 key 中存在标点符号,在这种情况下,我们可以使用localeCompare()函数并将其设置为在比较期间忽略标点符号。

        var list = [
        { FirsName: \”Aaron\”, LastName: \”,Baker\” },
        { FirstName: \”Bert\”, LastName: \”Green\” },
        { FirstName: \”Larry\”, LastName: \”,White\” },
        { FirstName: \”Victor\”, LastName: \”Fox\” },
        ]
        function SortArray(x, y){
        return x.LastName.localeCompare(y.LastName, \’fr\’, {ignorePunctuation: true});
        }
        var tzy = list.sort(sortArray);
        console.log(tzy);

        输出如下:

        JavaScript将对象数组按字母顺序排序的方法详解

        你还可以通过将 localeCompare() 函数的灵敏度设置为 base 来忽略字符串中存在的特殊字符,如下所示。

        x.LastName.localeCompare(y.LastName, \’en\’, { sensitivity: \’base\’ });

        点击传送门查看有关localeCompare()函数的更多详细信息。

        Collator() + sort()

        var list = [
        { FirsName: \”Aaron\”, LastName: \”Baker\” },
        { FirstName: \”Bert\”, LastName: \”Green\” },
        { FirstName: \”Larry\”, LastName: \”White\” },
        { FirstName: \”Victor\”, LastName: \”Fox\” },
        ]
        function SortArray(x, y){
        return collator.compare(x.LastName, y.LastName);
        }
        var tzy = list.sort(sortArray);
        console.log(tzy);

        输出如下:

        JavaScript将对象数组按字母顺序排序的方法详解

        到此这篇关于JavaScript将对象数组按字母顺序排序的方法详解的文章就介绍到这了,更多相关JavaScript 对象数组排序内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

        您可能感兴趣的文章:

        • 基于JS模仿windows文件按名称排序效果
        • js实现表格单列按字母排序
        • js实现列表按字母排序
        • 实现单层json按照key字母顺序排序的示例
        • 基于JS实现数字+字母+中文的混合排序方法
        • 把字符串按照特定的字母顺序进行排序的js代码
        • javascript select列表内容按字母倒序排序与按列表倒序排列
        • 在JavaScript中按字母排序之如何在JS中按名称排序

        收藏 (0) 打赏

        感谢您的支持,我会继续努力的!

        打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
        点赞 (0)

        悠久资源 JavaScript JavaScript将对象数组按字母顺序排序的方法详解 https://www.u-9.cn/biancheng/javascript/4859.html

        常见问题

        相关文章

        发表评论
        暂无评论
        官方客服团队

        为您解决烦忧 - 24小时在线 专业服务