JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 587871
  • Score
    100M100P100Q171933F

Sort the keys in an object.

Package Exports

  • sort-object

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sort-object) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

sort-object NPM version

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 descending order:

console.log(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

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

array

console.log(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};
console.log(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;
  }
});
console.log(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};
console.log(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 (c) 2014 Brian Woodward, contributors.
Released under the MIT license


This file was generated by verb-cli on October 24, 2014.