네 개의 인수를 취하는 JavaScript 함수를 작성해야 합니다. 네 개의 인수는 모두 평면의 사변형 또는 모든 그림(닫힌 또는 닫히지 않은)의 네 꼭짓점 좌표를 나타내는 정확히 두 개의 숫자로 구성된 배열입니다.
우리 함수의 임무는 네 정점이 정사각형을 형성하는지 여부를 결정하는 것입니다.
정사각형을 형성하면 true를 반환하고 그렇지 않으면 false를 반환해야 합니다.
예를 들어 -
입력 좌표가 -
인 경우const c1 = [1, 0]; const c2 = [-1, 0]; const c3 = [0, 1]; const c4 = [0, -1];
그러면 출력은 다음과 같아야 합니다. -
const output = true;
이 좌표는 면적 4 단위 제곱의 정사각형을 형성하기 때문입니다.
예시
이에 대한 코드는 -
const c1 = [1, 0]; const c2 = [-1, 0]; const c3 = [0, 1]; const c4 = [0, -1]; const validSquare = (c1, c2, c3, c4) => { const dist = (c1, c2) => (Math.sqrt(Math.pow(c1[0] - c2[0],2) + Math.pow(c1[1] - c2[1],2))); const points = [c1,c2,c3,c4]; let lens = new Set(); for(let i = 0; i < points.length; i++){ for(let j = i + 1; j < points.length; j++){ if(points[i][0] == points[j][0] && points[i][1] == points[j][1]){ return false; }; let dis = dist(points[i],points[j]); lens.add(dis) }; }; return lens.size === 2; }; console.log(validSquare(c1, c2, c3, c4));
출력
콘솔의 출력은 -
true