Make orderBy pure and fix examples

This commit is contained in:
atomiks
2017-12-28 19:55:58 +11:00
parent 5b53abb624
commit fef6a62d0e

View File

@ -7,7 +7,7 @@ If no orders array is passed it sort by 'asc' by default.
```js ```js
const orderBy = (arr, props, orders) => const orderBy = (arr, props, orders) =>
arr.sort((a, b) => [...arr].sort((a, b) =>
props.reduce((acc, prop, i) => { props.reduce((acc, prop, i) => {
if (acc === 0) { if (acc === 0) {
const [p1, p2] = orders && orders[i] === 'desc' ? [b[prop], a[prop]] : [a[prop], b[prop]]; const [p1, p2] = orders && orders[i] === 'desc' ? [b[prop], a[prop]] : [a[prop], b[prop]];
@ -25,6 +25,6 @@ const users = [
{ name: 'fred', age: 40 }, { name: 'fred', age: 40 },
{ name: 'barney', age: 34 } { name: 'barney', age: 34 }
]; ];
orderby(users, ['name', 'age'], ['asc', 'desc']); // [{name: 'barney', age: 36}, {name: 'barney', age: 34}, {name: 'fred', age: 48}, {name: 'fred', age: 40}] orderBy(users, ['name', 'age'], ['asc', 'desc']); // [{name: 'barney', age: 36}, {name: 'barney', age: 34}, {name: 'fred', age: 48}, {name: 'fred', age: 40}]
orderby(users, ['name', 'age']); // [{name: 'barney', age: 34}, {name: 'barney', age: 36}, {name: 'fred', age: 40}, {name: 'fred', age: 48}] orderBy(users, ['name', 'age']); // [{name: 'barney', age: 34}, {name: 'barney', age: 36}, {name: 'fred', age: 40}, {name: 'fred', age: 48}]
``` ```