# Day 4: Classes | 10 Days Of JavaScript | HackerRank Solution

Hello coders, today we are going to solve Day 4: Classes HackerRank Solution which is a part of 10 Days of JavaScript Series.

## Objective

In this challenge, we practice using JavaScript classes.

Create a Polygon class that has the following properties:

• constructor that takes an array of integer values describing the lengths of the polygon’s sides.
• 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 3 + 4 + 5 = 12.

## Solution – Day 4: Classes

```/*
* 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(function add(a, b) { return 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());```

Disclaimer: The above Problem (Classes) is generated by Hacker Rank but the Solution is provided by CodingBroz. This tutorial is only for Educational and Learning Purpose.