Giter Site home page Giter Site logo

object-group-bonus-calculator's Introduction

Group setup

First, let's take a look at starting the project off with your group members in an effective manner:

intro

Bonus Calculator App

You are going to write a single JavaScript file to automatically calculate employee bonus for a company.

Data Structure

The company is providing you with a few sample objects that serve as examples of how their data is currently being stored. Each object contains employee information. Each of these objects are stored in a main array named employees.

Employee Array

Each employee currently is configured in this way:

  • The name property holds the employees name.
  • The employeeNumber property has their employee number.
  • The annualSalary property contains their base annual salary.
  • The reviewRating property contains their review rating.

The Employee Class

The following employee Class is in client.js as the output format for your function:

class Employee{
  constructor( name, bonusPercentage, totalCompensation, totalBonus ){
    this.name = name;
    this.bonusPercentage = bonusPercentage;
    this.totalCompensation = totalCompensation;
    this.totalBonus = totalBonus;
  } // end constructor
} // end Employee class

Logic

You will be taking the object literals in the employees array and turning them into Employee's. Write a function that takes in one employee (as an argument to the function), and returns a new Employee:

  • The name property should contain the employee's name.
  • The bonusPercentage property should contain the bonus percentage the employee is to receive. See section below for calculation instructions.
  • The totalCompensation property should be the adjusted annual compensation (base annual + bonus)
  • The totalBonus should be the employee's total bonus rounded to the nearest dollar.

Finally, iterate over the employees array and do the following:

  • use each employee object as the input to your first function
  • console.log the results of each iteration.

Individual Bonus calculation

  • Those who have a rating of a 2 or below should not receive a bonus.
  • Those who have a rating of a 3 should receive a base bonus of 4% of their base annual income.
  • Those who have a rating of a 4 should receive a base bonus of 6% of their base annual income.
  • Those who have a rating of a 5 should receive a base bonus of 10% of their base annual income.
  • If their employee number is 4 digits long, this means they have been with the company for longer than 15 years, and should receive an additional 5%.
  • However, if their annual income is greater than $65,000, they should have their bonus adjusted down 1%.
  • No bonus can be above 13% or below 0% total.

NOTE: You may abstract out this bonus calculation into a second function if you like, but this is not mandatory.

Stretch Goals

  • Put the output on the DOM (visually on the page).
  • Make the app run only after the user clicks on a button on the page
  • Then style the output, making it visually appealing.

object-group-bonus-calculator's People

Contributors

lukeschlangen avatar christopher-black avatar devjanaprime avatar ckroening avatar kdszafranski avatar scottbromander avatar gwenpaul avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.