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

JavaScript trả về chỉ số thấp nhất để chèn giá trị vào mảng đã sắp xếp

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