Day 4: Classes | 10 Days of JavaScript – Hacker Rank Solution

Day 4: Classes | 10 Days of JavaScript – Hacker Rank Solution: Hey Guy’s In this post we are solving Day 4: Classes which is a part of 10 Days of JavaScript Series.

Day 4: Classes | 10 Days of JavaScript – Hacker Rank Solution

Objective

In this challenge, we practice using JavaScript classes. Check the attached tutorial for more details.

Task

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.

Day 4: Classes | 10 Days of JavaScript – Hacker Rank 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(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 (Day 4: Classes) is generated by Hackerrank but the Solution is Provided by Chase2Learn. This tutorial is only for Educational and Learning purposes. Authority if any of the queries regarding this post or website fill the following contact form thank you.

Leave a Comment