js 根据字符串名称排序 2019-02-20 前端 暂无评论 3279 次阅读 直接上代码 ```javascript let arr = ['abc','aaa','bbc','cae','eaa']; arr.sort((a,b)=>{ if (a > b) return 1; return -1; }) console.log(arr); /* ['aaa','abc','bbc','cae','eaa'] */ /* 另一种写法 */ arr.sort((a,b)=>{ return a.localeCompare(b); }) ``` ## 小结 `javascript` 里面 `array.sort()` 函数是将数组重新排序,里面可以自定义排序规则,但需要返回值,`1` 为对掉位置,`-1` 为不变 ## 数组中根据多个字段排序 ```javascript var arr= [ { 'sortNo': 2, 'sortNo2': 3}, { 'sortNo': 1, 'sortNo2': 3}, { 'sortNo': 5, 'sortNo2': 3}, { 'sortNo': 6, 'sortNo2': 3}, { 'sortNo': 7, 'sortNo2': 3}, { 'sortNo': 3, 'sortNo2': 4}, { 'sortNo': 3, 'sortNo2': 2}, { 'sortNo': 3, 'sortNo2': 1}, { 'sortNo': 3, 'sortNo2': 3}, { 'sortNo': 8, 'sortNo2': 3}, { 'sortNo': 4, 'sortNo2': 1}, { 'sortNo': 4, 'sortNo2': 2} ]; arr.sort(function(a, b){ if (a.sortNo === b.sortNo) { return b.sortNo2 - a.sortNo2; } else { return a.sortNo - b.sortNo; } }); console.log(arr); //输出结果 //{ 'sortNo': 1, 'sortNo2': 3} //{ 'sortNo': 2, 'sortNo2': 3} //{ 'sortNo': 3, 'sortNo2': 4} //{ 'sortNo': 3, 'sortNo2': 3} //{ 'sortNo': 3, 'sortNo2': 2} //{ 'sortNo': 3, 'sortNo2': 1} //{ 'sortNo': 4, 'sortNo2': 2} //{ 'sortNo': 4, 'sortNo2': 1} //{ 'sortNo': 5, 'sortNo2': 3} //{ 'sortNo': 6, 'sortNo2': 3} //{ 'sortNo': 7, 'sortNo2': 3} //{ 'sortNo': 8, 'sortNo2': 3} ``` 标签: javascript 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。