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

Xác định xu hướng mảng (tăng/giảm đơn điệu) trong JavaScript

Xác định xu hướng mảng (tăng/giảm đơn điệu) trong JavaScript

Chúng ta cần viết một hàm JavaScript nhận vào một mảng số và trả về true nếu nó hoặc tăng đơn điệu hoặc giảm đơn điệu, ngược lại trả về false.

Trong toán học, hàm tăng đơn điệu là hàm mà giá trị vẽ luôn tăng. Tương tự, hàm giảm đơn điệu là hàm mà giá trị vẽ luôn giảm.

Do đó, hãy viết mã cho hàm này:

Ví dụ

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

const arr = [12, 45, 6, 4, 23, 23, 21, 1];
const arr2 = [12, 45, 67, 89, 123, 144, 2656, 5657];
const sameSlope = (a, b, c) => (b - a < 0 && c - b < 0) || (b - a > 0 && c - b > 0);
const increasingOrDecreasing = (arr = []) => {
  if(arr.length <= 2){
    return true;
  };
  for(let i = 1; i < arr.length - 1; i++){
    if(sameSlope(arr[i-1], arr[i], arr[i+1])){
      continue;
    };
    return false;
  };
  return true;
};
console.log(increasingOrDecreasing(arr));
console.log(increasingOrDecreasing(arr2));

Đầu ra

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

false true