Tôi có một thách thức trong JavaScript mà tôi đang cố gắng tìm ra trong một thời gian.
Hãy xem xét mảng này:
let arr = [0, 1, 0, 2, 0, 3, 0, 4, 0, 5];
Tôi phải xuất kết quả này:
arr = [0, 0, 0, 0, 0, 5, 4, 3, 2, 1]
Tôi đang theo dòng logic này để định vị các số 0 ở phía trước, điều chỉnh giá trị chỉ mục:
arr.sort((x, y) => {
if (x !== 0) {
return 1;
}
if (x === 0) {
return -1;
}
return y - x;
});
Nhưng tôi bị kẹt ở kết quả này:
arr = [0, 0, 0, 0, 0, 1, 2, 3, 4, 5]
Có ai có bất cứ lời khuyên về cách giải quyết điều này?
return x - y;
?
return y - x;
? Ngay cả trong javascript, tôi không thể nghĩ bất cứ điều gì sẽ không ===0
hoặc không !==0
.