编码
var arr = [43, 54, 4, -4, 84, 100, 58, 27, 140];
将上面数组分别按从大到小以及从小到大进行排序后在console中输出
var arr = ['apple', 'dog', 'cat', 'car', 'zoo', 'orange', 'airplane'];
将上面数组分别按字母顺序a-z及z-a进行排序,在console中输出
var arr = [[10, 14], [16, 60], [7, 44], [26, 35], [22, 63]];
将上面的二维数组,按照每个元素中第二个数从大到小的顺序进行排序输出,输出结果应该为:
[[22, 63], [16, 60], [7, 44], [26, 35], [10, 14]]
var arr = [
{
id: 1,
name: 'candy',
value: 40
}, {
id: 2,
name: 'Simon',
value: 50
}, {
id: 3,
name: 'Tony',
value: 45
}, {
id: 4,
name: 'Annie',
value: 60
}
];
将上面数组分别按元素对象的value值从小到大进行排序后输出
1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="utf-8" /> 6 <title>JS里的居民们8-排序</title> 7 </head> 8 9 <body> 10 <script> 11 function compareNumbers(a, b) { 12 return a - b; 13 } 14 var arr1 = [43, 54, 4, -4, 84, 100, 58, 27, 140]; 15 //将上面数组分别按从大到小以及从小到大进行排序后在console中输出 16 console.log("arr1从小到大排序:" + arr1.sort((a, b) => a - b)); 17 console.log("arr1从小到大排序:" + arr1.sort(function (a, b) { 18 return a - b; 19 })) 20 console.log("arr1从大到小排序:" + arr1.sort((a, b) => a - b).reverse()); 21 console.log("arr1从大到小排序:" + arr1.sort((a, b) => b - a)); 22 23 var arr2 = ['apple', 'dog', 'cat', 'car', 'Zoo', 'orange', 'airplane']; 24 //将上面数组分别按字母顺序a-z及z-a进行排序,在console中输出 25 console.log("arr2从a-z排序:" + arr2.sort()); //与字符串相加,成为字符串打印出来 26 console.log("arr2从z-a排序:"); //大小写有差别!!注意 27 console.log(arr2.sort().reverse()); //仍为数组对象打印出来 28 var arr3 = [ 29 [10, 14], 30 [16, 60], 31 [7, 44], 32 [26, 35], 33 [22, 63] 34 ]; 35 //将上面的二维数组,按照每个元素中第二个数从大到小的顺序进行排序输出,输出结果应该为: 36 console.log("arr3按第二个数从大到小排序:"); 37 console.log(arr3.sort((a, b) => b[1] - a[1])); 38 console.log("arr3按第一个数从大到小排序:"); 39 console.log(arr3.sort((a, b) => b[0] - a[0])); 40 //[[22, 63], [16, 60], [7, 44], [26, 35], [10, 14]] 41 42 var arr4 = [{ 43 id: 1, 44 name: 'candy', 45 value: 40 46 }, { 47 id: 2, 48 name: 'Simon', 49 value: 50 50 }, { 51 id: 3, 52 name: 'Tony', 53 value: 45 54 }, { 55 id: 4, 56 name: 'Annie', 57 value: 60 58 }]; 59 //将上面数组分别按元素对象的value值从小到大进行排序后输出 60 arr4.sort(function (a, b) { 61 var valueA = a.value; 62 var valueB = b.value; 63 if (valueA < valueB) { 64 return -1; 65 } 66 if (valueA > valueB) { 67 return 1; 68 } 69 return 0; 70 }) 71 console.log("按元素对象的value值从小到大进行排序:") 72 console.log(arr4); 73 74 arr4.sort(function (a, b) { 75 var valueA = a.value; 76 var valueB = b.value; 77 if (valueA < valueB) { 78 return 1; 79 } 80 if (valueA > valueB) { 81 return -1; 82 } 83 return 0; 84 }) 85 console.log("按元素对象的value值从大到小进行排序:") 86 console.log(arr4); 87 88 arr4.sort(function (a, b) { 89 var nameA = a.name.toUpperCase(); //忽略大小写进行排序,按字母来 90 var nameB = b.name.toUpperCase(); 91 if (nameA < nameB) { 92 return -1; 93 } 94 if (nameA > nameB) { 95 return 1; 96 } 97 return 0; 98 }) 99 console.log("按元素对象的name值从a-z进行排序:") 100 console.log(arr4); 101 </script> 102 </body> 103 104 </html>