var arr = ['微信', '快手', '抖音', '其他', '头条', 7, 3, 9];
arr.sort(function (a, b) {
if (typeof a === 'number' && typeof b === 'number') {
return b - a;
} else {
a = a.toString()
b = b.toString()
return b.localeCompare(a, 'zh-CN');
}
});
console.log(arr)
var objarr = [
{name: '青岛', code: '九', info: {province: '山东'}},
{name: '南京', code: 9, info: {province: '江苏'}},
{name: '北京', code: 1, info: {province: '北京'}},
{name: '上海', code: 2, info: {province: '上海'}},
{name: '深圳', code: 5, info: {province: '广东'}}
];
function sortChinese (objarr, dataLeven) {
function getValue (option) {
if (!dataLeven) return option
var data = option
dataLeven.split('.').filter(function (item) {
data = data[item]
})
return data
}
objarr.sort(function (a, b) {
a = getValue(a)
b = getValue(b)
if (typeof a === 'number' && typeof b === 'number') {
return a - b;
} else {
a = a.toString()
b = b.toString()
return a.localeCompare(b, 'zh-CN');
}
})
}
sortChinese(objarr, 'name')
console.log(objarr);
sortChinese(objarr, 'info.province')
console.log(objarr);
sortChinese(objarr, 'code')
console.log(objarr);