Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

อาร์เรย์พิเศษใน JavaScript


กล่าวกันว่าอาร์เรย์เป็นอาร์เรย์พิเศษหากมีจำนวนเต็มบวกอยู่ เช่น มีองค์ประกอบ num ที่มากกว่า num ในอาร์เรย์ ตัวเลข num ไม่จำเป็นต้องเป็นของอาร์เรย์ แต่ควรมีอยู่แล้ว

ตัวอย่างเช่น − หากอาร์เรย์อินพุตคือ −

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

จากนั้น หากเราตรวจสอบอย่างถูกต้อง เราจะพบว่าสำหรับ num =3 มี 3 องค์ประกอบที่มากกว่า 3 ในอาร์เรย์นี้พอดี

อย่างไรก็ตาม 3 ไม่ได้เป็นส่วนหนึ่งของอาร์เรย์นี้ แต่ถูกต้อง ดังนั้น เราจึงต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของ Numbers

ฟังก์ชันควรคืนค่าตัวเลขที่อยู่รอบๆ ที่เป็นค่าพิเศษ (ถ้าเป็นพิเศษเลย) มิฉะนั้น ฟังก์ชันควรคืนค่าเป็น -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