Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Kiểm tra 4 điểm tạo thành vuông giác trong mặt phẳng 2D JavaScript

Viết hàm nhận 4 điểm (mảng 2 số), kiểm tra có tạo thành hình vuông không. Trả về true/false.

Ví dụ: [1,0],[-1,0],[0,1],[0,-1] → true (vuông diện tích 4).

Ví dụ

const c1 = [1, 0]; const c2 = [-1, 0]; const c3 = [0, 1]; const c4 = [0, -1];
const validSquare = (c1, c2, c3, c4) => {
  const dist = (a, b) => Math.sqrt((a[0]-b[0])**2 + (a[1]-b[1])**2);
  const points = [c1, c2, c3, c4];
  const 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;
      lens.add(dist(points[i], points[j]));
    }
  }
  return lens.size === 2;
};
console.log(validSquare(c1, c2, c3, c4));

Kết quả

true