88-数组排序方法
2019-05-02 本文已影响0人
仰望_IT
-
let arr = ["c", "a", "b"];
-
升序排序
let arr = ["c", "a", "b"]; arr.sort(); console.log(arr); // ["a", "b", "c"]
-
降序排序
let arr = ["c", "a", "b"]; /* 如果 sort(a, b) 小于 0 ,那么 a 会被排列到 b 之前; 如果 sort(a, b) 等于 0 , a 和 b 的相对位置不变。 如果 sort(a, b) 大于 0 , b 会被排列到 a 之前。 注意点: 如果元素是字符串类型, 那么比较的是Unicode编码 */ arr.sort(function (a, b) { if (a > b){ return -1; }else if (a < b) { return 1; }else { return 0; } }); console.log(arr); // ["c", "b", "a"]
-
-
let arr = [3, 4, 2, 5, 1];
-
升序排序
let arr = [3, 4, 2, 5, 1]; // 方式一 arr.sort(); // 方式二 arr.sort(function (a, b) { // 规律: 如果数组中的元素是数值类型 // 如果需要升序排序, 那么就返回a - b; return a - b; }); console.log(arr); // [1, 2, 3, 4, 5]
-
降序排序
let arr = [3, 4, 2, 5, 1]; // 方式一 arr.sort(function (a, b) { if (a > b){ return -1; } else if (a < b){ return 1; } else { return 0; } }); // 方式二 arr.sort(function (a, b) { // 规律: 如果数组中的元素是数值类型 // 如果需要降序排序, 那么就返回b - a; return b - a; }); console.log(arr); // [5, 4, 3, 2, 1]
-
-
let arr = ["1234", "21", "54321", " 123", "6"];
-
升序排序
let arr = ["1234", "21", "54321", " 123", "6"]; arr.sort(function (str1, str2) { // 字符串是特殊的数组, 所以字符串也有length属性, 通过length属性也可以获取到这个字符串中有多少个元素多少个字符 return str1.length -str2.length; }); console.log(arr); // ["6", "21", "1234", " 123", "54321"]
-
降序排序
let arr = ["1234", "21", "54321", " 123", "6"]; arr.sort(function (str1, str2) { // 字符串是特殊的数组, 所以字符串也有length属性, 通过length属性也可以获取到这个字符串中有多少个元素多少个字符 return str2.length -str1.length; }); console.log(arr); // ["54321", "1234", " 123", "21", "6"]
-
let students = [
{name: "zs", age: 34},
{name: "ls", age: 18},
{name: "ww", age: 22},
{name: "mm", age: 28},
];
-
升序排序
let students = [ {name: "zs", age: 34}, {name: "ls", age: 18}, {name: "ww", age: 22}, {name: "mm", age: 28}, ]; students.sort(function (o1, o2) { return o1.age - o2.age; }); console.log(students); /* 0: {name: "ls", age: 18} 1: {name: "ww", age: 22} 2: {name: "mm", age: 28} 3: {name: "zs", age: 34} */
-
降序排序
let students = [ {name: "zs", age: 34}, {name: "ls", age: 18}, {name: "ww", age: 22}, {name: "mm", age: 28}, ]; students.sort(function (o1, o2) { return o2.age - o1.age; }); console.log(students); /* 0: {name: "zs", age: 34} 1: {name: "mm", age: 28} 2: {name: "ww", age: 22} 3: {name: "ls", age: 18} */