在项目中的表格中要对国家排序,使用的是element中的表格
<el-table-column label="Country" width="100" show-overflow-tooltip sortable :sort-method="sortChange1">
<template slot-scope="scope">
{{ scope.row .company_country_name_en?scope.row.company_country_name_en:scope.row.company_country_name_cn | textFormat }}
</template>
</el-table-column>
//国家首字母排序
sortChange1(a,b){
return a.company_country_name_en.localeCompare(b.company_country_name_en);
},
使用sort()的话无法直接的比较中文,并且在对字符串的比较中 比较的是首位来比较的 例如:
let arr=['10000','1','23','8','25','36']
arr.sort()
console.log(arr)//(6)?["1", "10000", "23", "25", "36", "8"]
所以使用sort就不行了
sort()有一个参数是可设置的排列顺序sort会按照顺序把arr[i] arr[i+1]传入方法的sort((a,b)=>...)a和b 比较的规则:
localeCompare()方法,比较两个字符串的先后顺序,可用于判断中文 例如:a.localeCompare(b)
//可使用的方法为:
arr.sort((a,b)=>{
return a.localeCompare(b)
})
原文:https://www.cnblogs.com/my466879168/p/12431230.html