Computer >> Máy Tính >  >> Lập trình >> Javascript

Sắp xếp lại mảng dựa trên điều kiện trong JavaScript?

Giả sử chúng ta có một mảng đối tượng chứa điểm của một số người chơi trong trò chơi bài -

const scorecard = [{
   name: "Zahir",
   score: 23
}, {
      name: "Kabir",
      score: 13
}, {
      name: "Kunal",
      score: 29
}, {
      name: "Arnav",
      score: 42
}, {
      name: "Harman",
      score: 19
}, {
      name: "Rohit",
      score: 41
}, {
      name: "Rajan",
      score: 34
}];

Chúng tôi cũng có một biến có tên selfName chứa tên của một người chơi cụ thể -

const selfName = 'Arnav';

Chúng tôi bắt buộc phải viết một hàm sắp xếp mảng thẻ điểm theo thứ tự bảng chữ cái và đảm bảo đối tượng có tên giống như selfName xuất hiện ở trên cùng (ở chỉ mục 0).

Do đó, hãy viết mã cho vấn đề này -

Ví dụ

const scorecard = [{
   name: "Zahir",
   score: 23
}, {
      name: "Kabir",
      score: 13
}, {
      name: "Kunal",
      score: 29
}, {
      name: "Arnav",
      score: 42
}, {
      name: "Harman",
      score: 19
}, {
      name: "Rohit",
      score: 41
}, {
      name: "Rajan",
      score: 34
}];
const selfName = 'Arnav';
const sorter = (a, b) => {
   if(a.name === selfName){
      return -1;
   };
   if(b.name === selfName){
      return 1;
   };
   return a.name < b.name ? -1 : 1;
};
scorecard.sort(sorter);
console.log(scorecard);

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[
   { name: 'Arnav', score: 42 },
   { name: 'Harman', score: 19 },
   { name: 'Kabir', score: 13 },
   { name: 'Kunal', score: 29 },
   { name: 'Rajan', score: 34 },
   { name: 'Rohit', score: 41 },
   { name: 'Zahir', score: 23 }
]