验证 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP