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

การค้นหาองค์ประกอบที่มีผู้สืบทอดและรุ่นก่อนอยู่ในอาร์เรย์ใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของจำนวนเต็มเป็นอาร์กิวเมนต์แรกและอาร์กิวเมนต์เดียว

ฟังก์ชันควรสร้างและส่งกลับอาร์เรย์ใหม่ที่มีองค์ประกอบดังกล่าวทั้งหมดจากอาร์เรย์ดั้งเดิมซึ่งมีทั้งตัวตายตัวแทนและรุ่นก่อนอยู่ในอาร์เรย์ ถ้าหมายถึง หากองค์ประกอบ num ใด ๆ อยู่ในอาร์เรย์ดั้งเดิม ก็ควรรวมไว้ในอาร์เรย์ผลลัพธ์ก็ต่อเมื่อ num - 1 และ num + 1 อยู่ในอาร์เรย์ด้วย

ตัวอย่างเช่น −

หากอาร์เรย์อินพุตเป็น −

const arr = [4, 6, 8, 1, 9, 7, 5, 12];

จากนั้นผลลัพธ์ควรเป็น −

const output = [ 6, 8, 7, 5 ];

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const arr = [4, 6, 8, 1, 9, 7, 5, 12];
const pickMiddleElements = (arr = []) => {
   const res = [];
   for(let i = 0; i < arr.length; i++){
      const num = arr[i];
      const hasBefore = arr.includes(num - 1);
      const hasAfter = arr.includes(num + 1);
      if(hasBefore && hasAfter){
         res.push(num);
      };
   };
   return res;
};
console.log(pickMiddleElements(arr));

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

[ 6, 8, 7, 5 ]