我们需要编写一个包含四个参数的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) }; }; returnlens.size=== 2; }; console.log(validSquare(c1, c2, c3, c4));输出结果
控制台中的输出将是-
true