alpha-order
Sort JS objects and arrays by alpha order
The JavaScript specification makes no guarantees about the order of keys in
objects. However, V8 tends to sort them in the order in which they were added
to the object. This allows us to to get deterministic results from
JSON.stringify
by alpha sorting objects and arrays ahead of time. BE WARNED:
DO NOT DEPEND ON KEY ORDERING IN YOUR CODE.
Getting Started
Install the module with: npm install alpha-order
Usage
Simply require the module, then call the sort()
method. alpha-order does not
mutate the object passed in, and it always returns a new object to you.
const alpha = require('alpha-order');
const a = [3, 1, 2];
alpha.sort(a);
const obj = { b: 1, a: 1 };
alpha.sort(obj);
const obj2 = { b: { ib: 2, ia: 1 }, a: 1 };
alpha.sort(obj, true);
API
sort(obj, recursive)
Sort an object or an array. alpha-order will only sort POJOs and arrays. It
will not sort classes.
obj
- {Object | Array} the object or array to be sortedrecursive
- {Boolean} if true, will recursively sort nested objects
or arrays.
Returns: {Object | Array} a newly sorted object or array
Contributing
Ensure that all linting and codestyle tasks are passing. Add unit tests for any
new or changed functionality.
To start contributing, install the git prepush hooks:
make githooks
Before committing, lint and test your code using the included Makefile:
make prepush
License
Copyright (c) 2018 Alex Liu
Licensed under the MIT license.