Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 직선 확인

<시간/>

배열 배열을 취하는 JavaScript 함수를 작성해야 합니다. 각 하위 배열에는 각각 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