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

ความแตกต่างที่ใหญ่ที่สุดระหว่างองค์ประกอบที่มีการบิดใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้อาร์เรย์ของ Numbers ฟังก์ชันควรค้นหาความแตกต่างระหว่างองค์ประกอบที่ใหญ่ที่สุดและน้อยที่สุดของอาร์เรย์

เงื่อนไขคือองค์ประกอบที่เล็กกว่าควรปรากฏก่อนองค์ประกอบที่ใหญ่กว่าในอาร์เรย์ดั้งเดิม

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

พิจารณาอาร์เรย์ของตัวเลขต่อไปนี้ -

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