1.0.1 • Published 1 year ago

sort-rank v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

Rank an array of objects with support for value ties and tie breakers

Install

$ npm install sort-rank

Usage

const sRank = require('sort-rank')

// Input data
const data = [
  { name: 'Ken Morrow', goals: 13, assists: 13, points: 26 },
  { name: 'Mark Johnson', goals: 8, assists: 10, points: 18 },
  { name: 'Mike Ramsey', goals: 15, assists: 6, points: 21 },
  { name: 'Mike Eruzione', goals: 15, assists: 10, points: 21 },
  { name: 'Dave Silk', goals: 21, assists: 8, points: 29 }
]

const options = {
  arr: data,
  key: 'points'
}

const rankings = sRank(options)

console.log(rankings)

// [
//   { name: 'Dave Silk', goals: 21, assists: 8, points: 29, rank: 1 },
//   { name: 'Ken Morrow', goals: 13, assists: 13, points: 26, rank: 2 },
//   { name: 'Mike Ramsey', goals: 15, assists: 6, points: 21, rank: 3, has_tie: true },
//   { name: 'Mike Eruzione', goals: 15, assists: 10, points: 21, rank: 3, has_tie: true },
//   { name: 'Mark Johnson', goals: 8, assists: 10, points: 18, rank: 4 }
// ]

Options

Ranky takes a single parameter that is used to specify a few options when ranking the array of data.

arr (required)

Type: array

The array of objects that will be ranked.

key (required)

Type: string

The key used for sorting the objects within the array.

limit

Type: number

Take rank a few, a negative limit can be used.

order

Type: string

Default desc

Must be either asc or desc!

show_has_tie

Type: boolean

Default true

Show has_tie properties.

License

ISC

1.0.1

1 year ago

1.0.0

2 years ago