use Lodash to sort array of object by value
This method orderBy
does not change the input array,you have to assign the result to your array :
var chars = this.state.characters;chars = _.orderBy(chars, ['name'],['asc']); // Use Lodash to sort array by 'name' this.setState({characters: chars})
You can use lodash sortBy (https://lodash.com/docs/4.17.4#sortBy).
Your code could be like:
const myArray = [ { "id":25, "name":"Anakin Skywalker", "createdAt":"2017-04-12T12:48:55.000Z", "updatedAt":"2017-04-12T12:48:55.000Z" }, { "id":1, "name":"Luke Skywalker", "createdAt":"2017-04-12T11:25:03.000Z", "updatedAt":"2017-04-12T11:25:03.000Z" }]const myOrderedArray = _.sortBy(myArray, o => o.name)
If you need to sort by date, you could use this solution:
orderBy(employeePensions, (a) => new Date(a.startDate), ['asc']) // or 'desc'
If you are using moment
library, then:
orderBy(employeePensions, (a) => moment(a.startDate), 'asc')
P.s. Note that the lodash
doesn't sort dates in string format, so you must convert it to Date object.