Viết hàm trả về chỉ số thấp nhất để chèn giá trị (tham số 2) vào mảng (tham số 1) sau khi sắp xếp (tăng hoặc giảm dần).
Ví dụ: getIndexToInsert([1,2,3,4], 1.5, 'asc') trả về 1 vì lớn hơn 1 (chỉ số 0) nhưng nhỏ hơn 2 (chỉ số 1).
getIndexToInsert([20,3,5], 19, 'asc') trả về 2 vì mảng sắp xếp thành [3,5,20] và 19 nhỏ hơn 20 (chỉ số 2) lớn hơn 5 (chỉ số 1).
Ví dụ
const arr = [20, 3, 5];const getIndexToInsert = (arr, element, order = 'asc') => { const creds = arr.reduce((acc, val) => { let { greater, smaller } = acc; if (val < element) { smaller++; } else { greater++; } return { greater, smaller }; }, { greater: 0, smaller: 0 }); return order === 'asc' ? creds.smaller : creds.greater;};console.log(getIndexToInsert(arr, 19, 'des'));console.log(getIndexToInsert(arr, 19));Kết quả
Đầu ra trong console sẽ là:
1 2