GithubHelp home page GithubHelp logo

vitalypasechnik / ts_sort_students Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mate-academy/ts_sort_students

0.0 0.0 0.0 84 KB

TypeScript basics task. Sort students.

License: GNU General Public License v3.0

JavaScript 13.04% TypeScript 86.96%

ts_sort_students's Introduction

Sort students

Create a sortStudents function that takes 3 parameters and return a new array with students sorted according to the given params. The original array must not change.

The parameters are:

  • students an initial array of students
  • sortBy a type of sort (see SortType enum)
  • order a sort order that can be asc or desc

You also need to add correct types:

  • Create Student interface matching the next data:
    {
      name: 'Jessica',
      surname: 'Buxton',
      age: 26,
      married: true,
      grades: [5, 5, 4, 5, 4, 4, 4, 4, 5, 4, 5, 4],
    }
    
  • Create a SortType enum, having the next values:
    Name
    Surname
    Age
    Married
    AverageGrade
    
    Hint: AverageGrade is sorting by an average value in grades array.
  • Create SortOrder type with only 2 values 'asc' and 'desc' Hint: If values are the same the students should go in the original order (no matter we use asc or desc order)

Examples:

// from the youngest to the oldest
const studentsByAge = sortStudents(students, SortType.Age, 'asc');

// Surnames from Z to A
const studentsBySurnameDesc = sortStudents(students, SortType.Surname, 'desc');

// from the lowest Average grade to the highest
const studentsByGrade = sortStudents(students, SortType.AverageGrade, 'asc');

ts_sort_students's People

Contributors

mgrinko avatar vpolets avatar aliceblunt8 avatar oleksandra-pasenchenko avatar vinniej-2k20 avatar danheim 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.