sort-objects
TypeScript icon, indicating that this package has built-in type declarations

1.1.10 • Public • Published

Sort Objects

sort-objects is a js library for sorting array of objects based on priority.

Installation

Use the package manager [npm] to install sort-objects.

npm i sort-objects

Usage

let ps = require('sort-objects')

let objects = [
    {
        aaa:"AAAAA",
        bbb:1,
        ccc:{
            ddd:"ddd"
        }
    },
    {
        aaa:"ZZZ",
        bbb:2,
        ccc:{
            ddd:"eee"
        }
    },
    {
        aaa:"AAAAA",
        bbb:2,
        ccc:{
            ddd:"ddd"
        }
    }

]

Ascending

The Default is always ascending order

objects.sort(ps.prioritySort([
    {
      key: "numericString",
      cast: (e) => {
        return parseInt(e.replace(/^\D+/g, ""));
      },
    },
    "aaa",
    "bbb",
    "ccc.ddd",
  ]);
console.log(objects)
Sorted
[
  { aaa: 'AAAAA', bbb: 1, ccc: { ddd: 'ddd' }, numericString: '1AA' },
  { aaa: 'ZZZ', bbb: 2, ccc: { ddd: 'eee' }, numericString: '1AA' },
  { aaa: 'AAAAA', bbb: 2, ccc: { ddd: 'ddd' }, numericString: '3DA' }
]

Descending

objects.sort(ps.prioritySort(['aaa','bbb','ccc.ddd'],"desc"))
console.log(objects)
Sorted
[
  { aaa: 'AAAAA', bbb: 2, ccc: { ddd: 'ddd' }, numericString: '3DA' },
  { aaa: 'ZZZ', bbb: 2, ccc: { ddd: 'eee' }, numericString: '1AA' },
  { aaa: 'AAAAA', bbb: 1, ccc: { ddd: 'ddd' }, numericString: '1AA' }
]

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.1.10
    2
    • latest

Version History

Package Sidebar

Install

npm i sort-objects

Weekly Downloads

2

Version

1.1.10

License

ISC

Unpacked Size

5.65 kB

Total Files

9

Last publish

Collaborators

  • adh.ranjan