Sunday, September 29, 2024

[Javascript] – Phần 27: Sắp xếp mảng

-

1. Sắp xếp mảng theo thứ tự alphabet

Phương thức sort() sắp xếp một mảng theo thứ tự alphabet:

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();

2. Đảo ngược mảng

Phương thức reverse() đảo ngược các phần tử trong một mảng. Bạn có thể sử dụng nó để sắp xếp mảng theo thứ tự giảm dần:

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();

3. Sắp xếp số

Mặc định, sort() sắp xếp các giá trị như chuỗi, nhưng điều này không phù hợp khi sắp xếp số. Bạn có thể sửa điều này bằng cách cung cấp một hàm so sánh:

const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a - b});

4. Sắp xếp mảng.

Sắp xếp mảng tăng dần:

const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a - b});
// points[0] chứa giá trị thấp nhất, points[points.length-1] chứa giá trị cao nhất

Sắp xếp mảng giảm dần:

const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b - a});
// points[0] chứa giá trị cao nhất, points[points.length-1] chứa giá trị thấp nhất

5. Sử dụng Math.max() và Math.min() trên mảng

function myArrayMax(arr) {
  return Math.max.apply(null, arr);
}

function myArrayMin(arr) {
  return Math.min.apply(null, arr);
}

myArrayMax([1, 2, 3]); // Giá trị cao nhất là 3
myArrayMin([1, 2, 3]); // Giá trị thấp nhất là 1

6. Tìm giá trị thấp nhất (hoặc cao nhất) trong mảng.

Tìm giá trị cao nhất:

function myArrayMax(arr) {
  let len = arr.length;
  let max = -Infinity;
  while (len--) {
    if (arr[len] > max) {
      max = arr[len];
    }
  }
  return max;
}

myArrayMax([1, 2, 3]); // Giá trị cao nhất là 3

Tìm giá trị thấp nhất:

function myArrayMin(arr) {
  let len = arr.length;
  let min = Infinity;
  while (len--) {
    if (arr[len] < min) {
      min = arr[len];
    }
  }
  return min;
}

myArrayMin([1, 2, 3]); // Giá trị thấp nhất là 1

7. Sắp xếp mảng đối tượng.

Nếu mảng chứa các đối tượng, bạn có thể sử dụng sort() với một hàm so sánh để sắp xếp mảng dựa trên một thuộc tính cụ thể:

const cars = [
  {type:"Volvo", year:2016},
  {type:"Saab", year:2001},
  {type:"BMW", year:2010}
];

// Sắp xếp theo năm
cars.sort(function(a, b){return a.year - b.year});

8. Sắp xếp ổn định

Tính từ ES2019 trở đi, phương thức sort() đảm bảo sự ổn định khi sắp xếp. Điều này có nghĩa là các phần tử có giá trị bằng nhau sẽ giữ nguyên vị trí tương đối của chúng:

const myArr = [
  {name:"X00",price:100 },
  {name:"X01",price:100 },
  {name:"X02",price:100 },
  {name:"X03",price:100 },
  {name:"X04",price:110 },
  {name:"X05",price:110 },
  {name:"X06",price:110 },
  {name:"X07",price:110 }
];

Trong trường hợp này, nếu sắp xếp theo giá price, các phần tử có giá 100 sẽ được giữ nguyên vị trí tương đối của chúng.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories