Rank an array of objects with support for value ties and tie breakers
$ npm install sort-rank
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 }
// ]
Ranky takes a single parameter that is used to specify a few options when ranking the array of data.
Type: array
The array of objects that will be ranked.
Type: string
The key used for sorting the objects within the array.
Type: number
Take rank a few, a negative limit can be used.
Type: string
Default desc
Must be either asc
or desc
!
Type: boolean
Default true
Show has_tie
properties.
ISC