3.0.3 • Published 5 years ago

sort-object v3.0.3

Weekly downloads
72,879
License
MIT
Repository
github
Last release
5 years 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.

sms-fluidcomponents-sass-importer@sitegeist/sms-sass-importersms-sass-importer@everything-registry/sub-chunk-2799sails-hook-simple-apisass-glob-importerreactqltemplatevicapow-mapbox-gllina-clilookup-depsmt-weui-reactkoa-router-swaggerkoa-oai-cachegrunt-assemble-contextualharvest-synchtml-tag-helpersgulp-markdown-to-jsonkarn-mapkarn-mapbox-glkhaoskhaos-patchedkhipu-gothone_sdklaunchpack-assemblemapbox-gl-epsg4490mapbox-gl-mapmagicmapbox-gl-style-lintmapbox-gl-style-specmapbox-gl-style-spec-module-exportorderbook-enginenpmoutdatedobject-merge-overridepreqlclinode-icqniftycloud-authmodify-package-dependenciesreact-intl-extractornode-tripp-liteneutron-adtpyarnrefabricator-assemblespeechpadrpd-mapbox-glslot-clislot-frameworktldwtrackasia-style-spectouchui-packtouchui-pc-pack@americana/maplibre-gl-style-spec@bcherny/mapbox-gl@bewithjonam/mapbox-gl@3drobotics/mapbox-gl@acalcutt/maplibre-gl-style-speczilchzpresent-parserweb-standard@fitnet/vnpay@igloo-be/core-cms-cli@globalfishingwatch/maplibre-gl-style-spec@lbatchelor/bolt@linaframework/lina-cli@mapcat/mapbox-gl@mapcat/mapcat-gl-style-spec@emuanalytics/maplibre-gl-style-spec@minar-kotonoha/generator-travis@rxdi/bolt@openlayers/mapbox-gl-style-spec@curio/mapbox-gl@datacamp/fabricator-assembleecho-engineexpress-hbscgeosgl-style-specgenerator-travisgetreactfabricator-assemble@wesleytodd/generator-package@warungpintar/warlockanother-mapmagic-glali-cdn-urlframegd-cligenerator-fn-awesome-modulebing-pulsebolt-yarn-supportedboltassemble-middleware-contextualassemble-yamlassemble-contrib-contextualautocostsbutter-assemblecccc-custom-fabricator-assemblerdeps3dpndpn-cli
3.0.3

5 years ago

3.0.2

9 years ago

3.0.1

9 years ago

3.0.0

9 years ago

2.0.4

9 years ago

2.0.3

9 years ago

2.0.2

9 years ago

2.0.1

9 years ago

2.0.0

9 years ago

1.0.0

10 years ago

0.3.2

10 years ago

0.3.1

10 years ago

0.3.0

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.0.6

11 years ago

0.0.5

11 years ago

0.0.4

11 years ago

0.0.3

11 years ago

0.0.2

11 years ago

0.0.1

11 years ago