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

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


เรามีอาร์เรย์ของตัวเลขที่จัดเรียงแบบสุ่มอย่างแท้จริง งานของเราคือการเขียนฟังก์ชันที่รับอาร์เรย์ของ Numbers ดังกล่าวและคืนค่าส่วนต่างของจำนวนที่มากที่สุดและน้อยที่สุดที่มีอยู่ในอาร์เรย์นั้น แต่ไม่ต้องเรียงลำดับอาร์เรย์

ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −

เราจะใช้ฟังก์ชัน Array.prototype.reduce() เพื่อเลือกตัวเลขที่เล็กที่สุดและมากที่สุดจากอาร์เรย์และจะคืนค่าส่วนต่างในภายหลัง รหัสสำหรับฟังก์ชันนี้จะเป็น −

ตัวอย่าง

const arr = [23, 65, 67, 23, 2, 6, 87, 23, 45, 65, 3, 234, 3];
const findDifference = arr => {
   if(!arr.length){
      return 0;
   }
   const creds = arr.reduce((acc, val) => {
      let { max, min } = acc;
      if(val > max){
         max = val;
      };
      if(val < min){
         min = val;
      };
      return { max, min };
   }, {
      max: -Infinity,
      min: Infinity
   });
   return creds.max - creds.min;
};
console.log(findDifference(arr));

ผลลัพธ์

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

232