3.0.3 • Published 8 months ago

sort-object v3.0.3

Weekly downloads
36,138
License
MIT
Repository
github
Last release
8 months ago

sort-object NPM version Build Status

Sort the keys in an object.

Install

Install with npm:

$ npm i sort-object --save

Usage

var sortObj = require('sort-object');

By default, the keys on an object will be sorted in ascending order:

sortObj({a: 1, c: 2, b: 3});
//=> {a: 1, b: 3, c: 2}

The second param can be an object of options OR an array of keys:

object

sortObj({a: 1, c: 2, b: 3}, {keys: ['a', 'b']});
//=> {a: 1, b: 3}

array

sortObj({a: 1, c: 2, b: 3}, ['a', 'c']);
//=> {a: 1, c: 2}

Options

  • keys {Array} The returned object will contain only the specified keys, in the same order.
  • sort {Function} Sort function to sort the keys using JavaScript's .sort() method.
  • sortOrder {String} Valid values are desc or asc, case insensitive.
  • sortBy {String} Sort function that is passed the entire object, rather than just the keys - as with the .sort() method.

options.keys

Create a new object with only the given keys.

var o = {a: 1, c: 2, e: 5, d: 4, b: 3};
sortObj(o, {keys: ['a', 'b']});

//=> {a: 1, b: 3}

options.sort

Function to be passed to javascript's .sort() method:

var o = {a: 1, c: 2, e: 5, d: 4, b: 3};
var obj = sortObj(o, {
  sort: function (a, b) {
    return a < b ? -1 : 1;
  }
});
obj;
//=> {a: 1, b: 3, c: 2, d: 4, e: 5}

options.sortOrder

Valid values are desc or asc, case insensitive:

var o = {a: 1, c: 2, e: 5, d: 4, b: 3};
sortObj(o, {sortOrder: 'ASC'});
//=> {e: 5, d: 4, c: 3, b: 2, a: 1}

options.sortBy

Function that returns an array of keys to sort by:

var old = {one: 'aa', two: 'bc', three: 'ab'};
var o = sortObj(old, {
  sortBy: function (obj) {
    var arr = [];
    Object.keys(obj).filter(function(key) {
      if (/^a/.test(obj[key])) arr.push(key);
    });
    return arr.reverse();
  }
});
//=> {three: 'ab', one: 'aa'}

Author

Brian Woodward

License

Copyright © 2014-2016 Brian Woodward Released under the MIT license.


This file was generated by verb on February 03, 2016.

3.0.3

8 months ago

3.0.2

4 years ago

3.0.1

4 years ago

3.0.0

5 years ago

2.0.4

5 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.0.0

5 years ago

0.3.2

6 years ago

0.3.1

6 years ago

0.3.0

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.0.6

6 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago