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

การตรวจสอบเส้นตรงใน JavaScript


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

ฟังก์ชันของเราควรตรวจสอบว่าพิกัดที่ระบุโดยอาร์เรย์ย่อยเหล่านี้เป็นเส้นตรงหรือไม่

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

[[4, 5], [5, 6]] should return true.

รับประกันอาร์เรย์ว่ามีอย่างน้อยสองอาร์เรย์ย่อย

ตัวอย่าง

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

const coordinates = [
   [4, 5],
   [5, 6]
];
const checkStraightLine = (coordinates = []) => {
   if(coordinates.length === 0) return false;
   let x1 = coordinates[0][0];
   let y1 = coordinates[0][1];
   let slope1 = null;
   for(let i=1;i<coordinates.length;i++){
      let x2= coordinates[i][0];
      let y2= coordinates[i][1];
      if(x2-x1 === 0){
         return false;
      }
      if(slope1 === null){
         slope1 = (y2-y1) / (x2-x1);
         continue;
      }
      let slope2 = (y2-y1) / (x2-x1);
      if(slope2 != slope1){
         return false;
      }
   }
   return true;
};
console.log(checkStraightLine(coordinates));

คำอธิบาย

เรากำหนดความชันของแต่ละจุดด้วยจุดแรกหากความชันเท่ากัน มันจะเป็นเส้นตรง มิฉะนั้น หากจุดใดจุดหนึ่งมีความชันต่างกัน หมายความว่า จุดจะไม่อยู่บนเส้นเดียวกัน

ผลลัพธ์

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

true