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

Phát hiện phần tử lớn nhất trong mảng số (lồng nhau) trong JavaScript

Phát hiện phần tử lớn nhất trong mảng số (lồng nhau) trong JavaScript

Chúng ta phải viết một hàm đơn giản trong JavaScript nhận vào một mảng số (lồng nhau ở bất kỳ cấp độ nào) và trả về số lớn nhất có trong mảng.

Ví dụ: Nếu mảng đầu vào là:

const arr = [ 
  34, 65, 67, 
  [ 
    43, 76, 87, 23, 56, 7, 
    [ 
      54, 7, 87, 23, 79, 994, 2 
    ], 
    54 
  ], 54, 4, 2 ];

Thì kết quả đầu ra nên là:

994

Chúng ta sẽ dùng đệ quy để tìm số lớn nhất trong mảng.

Ví dụ

Mã thực hiện như sau:

const arr = [ 
  34, 65, 67, 
  [ 
    43, 76, 87, 23, 56, 7, 
    [ 
      54, 7, 87, 23, 79, 994, 2 
    ], 
    54 
  ], 54, 4, 2 ];
const getGreatest = (arr, greatest = -Infinity) => {
  for(let i = 0; i < arr.length; i++){
    if(Array.isArray(arr[i])){
      return getGreatest(arr[i], greatest);
    };
    if(arr[i] > greatest){
      greatest = arr[i];
    }
  };
  return greatest;
};
console.log(getGreatest(arr));

Đầu ra

Kết quả trong console sẽ là:

994