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

本文介绍了如何使用JavaScript实现按字符串长度升序和降序排列,以及在长度相同时根据字母表顺序进行排序的方法。通过localeCompare()函数展示了定制排序行为的细节。

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

一、 按数组中字符串长度排序

1. 升序
function sortArray(array) {
 array.sort((a, b) => a.length - b.length)
 return array
}
console.log(sortArray(["a", "banana", "app", "appl", "ap", "apply", "apple"]));
// ['a', 'ap', 'app', 'appl', 'apply', 'apple', 'banana']
2. 降序
function sortArray(array) {
 array.sort((a, b) => b.length - a.length)
 return array
}
console.log(sortArray(["a", "banana", "app", "appl", "ap", "apply", "apple"]));
// ['banana', 'apply', 'apple', 'appl', 'app', 'ap', 'a']

二、先按字符串长度排序,再按字母表顺序排序。

1. 代码
function sortArray(array) {
 array.sort((a, b) => {
  if (a.length !== b.length) {
   return a.length - b.length
  } else {
   return a.localeCompare(b);
  }
 return array
}
console.log(sortArray(["a", "banana", "app", "appl", "ap", "apply", "apple"]));
// ['a', 'ap', 'app', 'appl', 'apple', 'apply', 'banana']
2. 解析

1)说明
localeCompare() 方法返回一个数字来指示一个参考字符串是否在排序顺序前面或之后或与给定字符串相同。

新的 locales 和 options 参数能让应用程序定制函数的行为,即指定用来排序的语言。 locales 和 options 参数完全取决于实现,在旧的实现中忽略这两个参数。

2)语法
referenceStr.localeCompare(compareString[, locales[, options]])

3)localeCompare()官方描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值