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

Trả về một mảng con chứa tất cả phần tử từ mảng ban đầu lớn hơn tất cả các phần tử ở bên phải của chúng trong JavaScript

Chúng tôi bắt buộc phải viết một hàm JavaScript nhận vào một mảng số và trả về mảng asubarray chứa tất cả phần tử từ mảng ban đầu lớn hơn tất cả các phần tử ở bên phải của chúng.

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

Ví dụ

Mã cho điều này sẽ là -

const arr = [12, 45, 6, 4, 23, 23, 21, 1];
const largerThanRight = (arr = []) => {
   const creds = arr.reduceRight((acc, val) => {
      let { largest, res } = acc;
      if(val > largest){
         res.push(val);
         largest = val;
      };
      return { largest, res };
   }, {
      largest: -Infinity,
      res: []
   });
   return creds.res;
};
console.log(largerThanRight(arr));

Đầu ra

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

[ 1, 21, 23, 45 ]