驗證 JavaScript 中的二維平面中的正方形
我們需要編寫一個 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
廣告