เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่มีสี่อาร์กิวเมนต์ อาร์กิวเมนต์ทั้งสี่จะเป็นอาร์เรย์ของตัวเลขสองตัวที่แทนพิกัดของจุดยอดสี่จุดของรูปสี่เหลี่ยมหรือตัวเลขใดๆ (ปิดหรือเปิด) บนระนาบ
หน้าที่ของเราคือตรวจสอบว่าจุดยอดทั้งสี่เป็นรูปสี่เหลี่ยมจัตุรัสหรือไม่
หากเป็นรูปสี่เหลี่ยมจัตุรัส เราควรคืนค่า จริง เท็จ มิฉะนั้น
ตัวอย่างเช่น −
หากพิกัดอินพุตเป็น −
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