Chúng ta có một mảng chứa nhiều đối tượng. Chúng tôi bắt buộc phải viết một hàm để sắp xếp nửa đầu của mảng theo thứ tự tăng dần.
Và nửa sau của mảng với thứ tự tăng dần nhưng không trộn lẫn các mục của các nửa vào nhau.
Hãy xem xét mảng mẫu này -
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} ];
Hàm của chúng ta nên sắp xếp mảng này trên cơ sở thuộc tính 'x' của các đối tượng lưu ý những điều đã đề cập ở trên.
Ví dụ
Mã cho điều này sẽ là -
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) => { return 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));
Đầu ra
Và đầu ra trong bảng điều khiển sẽ là -
[ { id: 3, x: 11 }, { id: 2, x: 22 }, { id: 1, x: 33 }, { id: 6, x: 1 }, { id: 5, x: 2 }, { id: 4, x: 3 } ]