JavaScript 实现数组中的字符串按长度排序,长度一样按字母顺序排序

该代码示例展示了如何使用JavaScript的sort函数和localeCompare方法,对包含字符串对象的数组进行排序,首先按字符串长度升序排序,长度相同时按字母顺序升序排列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 以下的newar数组里的val键值排序要求:字串按长度排序,长度一样按字母顺序排序

/*
* js实现数组中的字符串按长度排序,长度一样按字母顺序排序。
* */
function sortByLenByazAZVal(array) {
    array.sort((a, b) => {
        if (a.val.length !== b.val.length) {
            return a.val.length - b.val.length
        } else {
            return a.val.localeCompare(b.val);
        }
    })
    return array
}

newar = [
    {val: 'yard', value: 1, len: 4},
    {val: 'I', value: 1, len: 1},     {val: 'My', value: 1, len: 2}, {val: 'is', value: 1, len: 2},
    {val: 'am', value: 1, len: 2},
    {val: 'house', value: 1, len: 5},
    {val: 'sister', value: 1, len: 6}
]

console.log(sortByLenByazAZVal(newar));

 输出:

复习:

字符串的对比方法l:

a.val.localeCompare(b.val)
string.localeCompare(targetString,locales,options);

返回值大于0:说明当前字符串string大于对比字符串targetString

返回值小于0:说明当前字符串string小于对比字符串targetString

返回值等于0:说明当前字符串string等于对比字符串targetString

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值