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

JavaScript의 특수 배열

<시간/>

배열에 num보다 큰 num 요소가 있는 것처럼 양의 정수 num이 존재하는 경우 배열을 특수 배열이라고 합니다. 숫자 num이 반드시 배열에 속할 필요는 없으며 존재하면 됩니다.

예를 들어 - 입력 배열이 -

인 경우
const arr = [2, 1, 5, 2, 7, 9];

그런 다음 적절하게 조사하면 num =3에 대해 이 배열에 3보다 큰 요소가 정확히 3개 있음을 알 수 있습니다.

그러나 3은 이 배열의 일부가 아니지만 유효합니다. 따라서 숫자 배열을 받는 JavaScript 함수를 작성해야 합니다.

함수는 특별한 숫자를 반환해야 합니다(특별한 경우). 그렇지 않으면 함수는 -1을 반환해야 합니다.

예시

const arr = [2, 1, 5, 2, 7, 9];
const findSpecialArray = (array = []) => {
   const arr = array.slice().sort((a, b) => a - b);
   let index = 1;
   const { length } = arr;
   while(index <= arr[length-1]){
      let num = 0;
      for(let i=0; i<length; i++){
         if(arr[i] >= index){
            num++;
         }
      };
      if(num === index){ return index; };
      index++;
   };
   return -1;
};
console.log(findSpecialArray(arr));

출력

이것은 다음과 같은 출력을 생성합니다 -

3