目录
- sort 用法
- 语法
- 参数值
- 兼容性
- 举例
- 排序数组
- 按升序排序
- 按降序排序
- if 条件语句 + sort()
- localeCompare() + sort()
- Collator() + sort()
里给出三种解决方案:
1.if条件语句 + sort()2.localeCompare() + sort()3.Collator() + sort()
sort 用法
语法
array.sort(compareFunction)
参数值
sort() 方法会改变原始数组。
兼容性
Chrome、IE、Edge、Firefox、Safari、Opera 等 都支持 sort() 方法。
举例
排序数组
var fruits = [\”Banana\”, \”Orange\”, \”Apple\”, \”Mango\”];
var tzy = fruits.sort();
console.log(tzy);
输出如下:
按升序排序
var points = [66, 100, 3, 10, 250, 88, 77];
var tzy = points.sort((a, b)=> a – b);
console.log(tzy);
输出如下:
按降序排序
var points = [66, 100, 3, 10, 250, 88, 77];
var tzy = points.sort((a, b)=> b – a);
console.log(tzy);
输出如下:
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);
输出如下:
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);
输出如下:
如果对象目标 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);
输出如下:
你还可以通过将 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 对象数组排序内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!
您可能感兴趣的文章:
- 基于JS模仿windows文件按名称排序效果
- js实现表格单列按字母排序
- js实现列表按字母排序
- 实现单层json按照key字母顺序排序的示例
- 基于JS实现数字+字母+中文的混合排序方法
- 把字符串按照特定的字母顺序进行排序的js代码
- javascript select列表内容按字母倒序排序与按列表倒序排列
- 在JavaScript中按字母排序之如何在JS中按名称排序