Sort the keys in an object.
npm install @znemz/sort-object> Sort the keys in an object.
Install with npm:
``sh`
$ npm i sort-object --save
`js`
var sortObj = require("sort-object");
By default, the keys on an object will be sorted in ascending order:
`js`
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
`js`
sortObj({ a: 1, c: 2, b: 3 }, { keys: ["a", "b"] });
//=> {a: 1, b: 3}
array
`js`
sortObj({ a: 1, c: 2, b: 3 }, ["a", "c"]);
//=> {a: 1, c: 2}
- 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.
Create a new object with only the given keys.
`js
var o = { a: 1, c: 2, e: 5, d: 4, b: 3 };
sortObj(o, { keys: ["a", "b"] });
//=> {a: 1, b: 3}
`
Function to be passed to javascript's .sort() method:
`js`
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}
Valid values are desc or asc, case insensitive:
`js`
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}
Function that returns an array of keys to sort by:
`js``
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'}
Brian Woodward
- github/nmccready
- twitter/nmccready
Copyright © 2014-2016 Brian Woodward
Released under the MIT license.
---
_This file was generated by verb on February 03, 2016._