数组排序、去重
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 8 <title>数组排序</title> 9 </head> 10 11 <body> 12 <script> 13 var arr = [15, 4, 1, 60, 50] 14 // 按升序排序 15 var compare = function (x, y) {//比较函数 16 if (x < y) { 17 return -1; 18 } else if (x > y) { 19 return 1; 20 } else { 21 return 0; 22 } 23 } 24 25 console.log('var ', arr.sort(compare)); 26 27 // 按降序排序 28 var compare2 = function (x, y) { 29 if (x < y) { 30 return 1; 31 } else if (x > y) { 32 return -1; 33 } else { 34 return 0; 35 } 36 } 37 console.log('var2 ', arr.sort(compare2)); 38 39 40 // 数组对象排序 41 var arr2 = [{ name: "test1", age: '21' }, 42 { name: "test2", age: '24' }, 43 { name: "test4", age: '20' }, 44 { name: "test3", age: '19' }]; 45 46 var compare3 = function (prop) { 47 return function (obj1, obj2) { 48 var val1 = obj1[prop]; 49 var val2 = obj2[prop]; 50 if (!isNaN(Number(val1)) && !isNaN(Number(val2))) { 51 val1 = Number(val1); 52 val2 = Number(val2); 53 } 54 if (val1 < val2) { 55 return -1; 56 } else if (val1 > val2) { 57 return 1; 58 } else { 59 return 0; 60 } 61 } 62 } 63 // console.log(arr2.sort(compare3('name'))); 64 console.log(arr2.sort(compare3('age'))); 65 66 var arr3 = [15, 4, 1, 22, 22, 60, 50] 67 // 数组去重 68 function uniqueArr(arr) { 69 var hash = []; 70 for (var i = 0; i < arr.length; i++) { 71 if (hash.indexOf(arr[i]) == -1) { 72 hash.push(arr[i]); 73 } 74 } 75 return hash; 76 } 77 78 console.log('var ', uniqueArr(arr3)); 79 80 </script> 81 82 </body> 83 84 </html>
结果:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库