js数组处理--数组排序
源代码:
1 /* 2 数组排序 3 参数:1.待排序数组,2.是否升序(默认是),3.排序规则|0为数字(默认),1为字符串|非必须,4.排序依据唯一key|对象数组时必须,String类型 4 */ 5 sortArr(arr, bool = true, rule = 0, key) { 6 if (bool) { 7 if (key) { 8 if (rule == 0) { 9 return arr.sort((a, b) => a[key] - b[key]) 10 } else { 11 return arr.sort((a, b) => { 12 return a[key].localeCompare(b[key]) 13 }) 14 } 15 } else { 16 if (rule == 0) { 17 return arr.sort((a, b) => a - b) 18 } else { 19 return arr.sort((a, b) => { 20 return a.localeCompare(b) 21 }) 22 } 23 } 24 } else { 25 if (key) { 26 if (rule == 0) { 27 return arr.sort((b, a) => a[key] - b[key]) 28 } else { 29 return arr.sort((b, a) => { 30 return a[key].localeCompare(b[key]) 31 }) 32 } 33 } else { 34 if (rule == 0) { 35 return arr.sort((b, a) => a - b) 36 } else { 37 return arr.sort((b, a) => { 38 return a.localeCompare(b) 39 }) 40 } 41 } 42 } 43 },
参数解析:见代码注释
左手键盘安天下,右手鼠标定乾坤