Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Sắp xếp riêng từng phần của mảng trong JavaScript

Cho mảng chứa nhiều đối tượng. Viết hàm sắp xếp nửa đầu mảng theo thứ tự tăng dần, nửa sau cũng tăng dần nhưng không trộn lẫn giữa hai nửa.

Mảng mẫu:

const arr = [ 
  {id:1, x: 33}, 
  {id:2, x: 22}, 
  {id:3, x: 11}, 
  {id:4, x: 3}, 
  {id:5, x: 2}, 
  {id:6, x: 1} 
];

Sắp xếp dựa trên thuộc tính 'x' của đối tượng.

Ví dụ

const arr = [ 
  {id:1, x: 33}, 
  {id:2, x: 22}, 
  {id:3, x: 11}, 
  {id:4, x: 3}, 
  {id:5, x: 2}, 
  {id:6, x: 1} 
]; 
const sortInParts = array => { 
  const arr = array.slice(); 
  const sorter = (a, b) => a['x'] - b['x']; 
  const arr1 = arr.splice(0, arr.length / 2); 
  arr.sort(sorter); 
  arr1.sort(sorter); 
  return [...arr1, ...arr]; 
}; 
console.log(sortInParts(arr));

Kết quả

Kết quả in ra console:

[ 
  { id: 3, x: 11 }, 
  { id: 2, x: 22 }, 
  { id: 1, x: 33 }, 
  { id: 6, x: 1 }, 
  { id: 5, x: 2 }, 
  { id: 4, x: 3 } 
]