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

JavaScript Trả về chỉ mục thấp nhất mà tại đó giá trị sẽ được chèn vào một mảng sau khi nó đã được sắp xếp (theo thứ tự tăng dần hoặc giảm dần).

Chúng ta phải viết một hàm trả về chỉ số thấp nhất mà tại đó giá trị (đối số thứ hai) sẽ được chèn vào một mảng (đối số đầu tiên) khi nó đã được sắp xếp (theo thứ tự tăng dần). Giá trị trả về phải là một số.

Ví dụ:Giả sử, chúng ta có một hàm getIndexToInsert () -

getIndexToInsert([1,2,3,4], 1.5, ‘asc’) should return 1 because it is greater than 1 (index 0),
but less than 2 (index 1).

Tương tự,

getIndexToInsert([20,3,5], 19, ‘asc’) should return 2 because once the array has been sorted
in ascending order it will look like [3,5,20] and 19 is less than 20 (index 2) and greater than 5
(index 1).

Do đó, hãy viết mã cho chức năng này -

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,));

Đầu ra

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

1
2