Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 비틀어진 요소 간의 가장 큰 차이점

<시간/>

숫자 배열을 받는 JavaScript 함수를 작성해야 합니다. 함수는 배열의 가장 큰 요소와 가장 작은 요소 사이의 차이를 찾아야 합니다.

조건은 원래 배열에서 더 작은 요소가 더 큰 요소보다 먼저 나타나야 한다는 것입니다.

예:

다음 숫자 배열을 고려하십시오 -

const arr = [2, 5, 6, 12, 1];

이 배열의 경우 함수는 10을 출력해야 합니다.

배열의 가장 큰 요소와 가장 작은 요소는 각각 12와 1이지만 1은 12보다 먼저 나타나지 않으므로 이 질문의 목적을 위해 유효한 작은 숫자로 간주할 수 없습니다.

따라서 우리의 함수는 차이를 반환합니다 -

12 - 2 = 10

예시

다음은 코드입니다 -

const arr = [2, 5, 6, 12, 1];
const findLargestDifference = (arr = []) => {
   if (arr.length <= 1){
      return -1;
   };
   let min = arr[0];
   let diff = 0;
   for (let i = 1; i < arr.length; i++) {
      if (arr[i] > min && (arr[i] - min > diff)) {
         diff = arr[i] - min;
      }
      else if (arr[i] <= min) {
         min = arr[i];
      }
   }
   if (diff <= 0){
      return -1
   };
   return diff;
};
console.log(findLargestDifference(arr));

출력

다음은 콘솔의 출력입니다 -

10