-
Notifications
You must be signed in to change notification settings - Fork 1
/
ClassesHR.js
54 lines (39 loc) · 1.44 KB
/
ClassesHR.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*
Task
Create a Polygon class that has the following properties:
A constructor that takes an array of integer values describing the lengths of the polygon's sides.
A perimeter() method that returns the polygon's perimeter.
Locked code in the editor tests the Polygon constructor and the perimeter method.
Note: The perimeter method must be lowercase and spelled correctly.
Input Format
There is no input for this challenge.
Output Format
The perimeter method must return the polygon's perimeter using the side length array passed to the constructor.
Explanation
Consider the following code:
// Create a polygon with side lengths 3, 4, and 5
let triangle = new Polygon([3, 4, 5]);
// Print the perimeter
console.log(triangle.perimeter());
When executed with a properly implemented Polygon class, this code should print the result of .
*/
//SOLUTION
/*
* Implement a Polygon class with the following properties:
* 1. A constructor that takes an array of integer side lengths.
* 2. A 'perimeter' method that returns the sum of the Polygon's side lengths.
*/
class Polygon {
constructor(sides) {
this.sides = sides
}
perimeter() {
return this.sides.reduce((a, b) => a + b);
}
}
const rectangle = new Polygon([10, 20, 10, 20]);
const square = new Polygon([10, 10, 10, 10]);
const pentagon = new Polygon([10, 20, 30, 40, 43]);
console.log(rectangle.perimeter());
console.log(square.perimeter());
console.log(pentagon.perimeter());