हमें एक 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