js实现数组中的字符串按长度排序,长度一样按字母顺序排序。 |
您所在的位置:网站首页 › js字符数组排序 › js实现数组中的字符串按长度排序,长度一样按字母顺序排序。 |
一、 按数组中字符串长度排序
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()官方描述 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |