Reputation: 6899
I am attempting to display array values sorted by OrderId
field. Here is my code:
var fields =
[{value: "Claims", OrderId:3 },
{value: "Requests", OrderId:1 },
{value: "Access", OrderId: 2}]
var listElements = fields.sort('OrderId', function(n){ return Math.sin(n) } )
.map( function(field) {
return React.createElement('li', {},
React.createElement('h2',{}, field.value)
)
})
var rootElement =
React.createElement('div', {},
React.createElement('ul', {}, listElements)
)
ReactDOM.render(rootElement, document.getElementById('container'));
This does not give me errors and displays the values in a desired format but unsorted... How can I sort in Reactjs world?
Upvotes: 0
Views: 13686
Reputation: 2107
First of all check your field name it should be OrderId for all the three, in question it is not and remove any extra quotes as well.
Then for sorting purpose, i dont know about sortBy method, you can use sort method easily, check out this example code below, and let me know if it will work for you -
JS fiddle link - https://jsfiddle.net/4kq4vbdw/
var fields =
[{value: "Claims", OrderId:3 },
{value: "Requests", OrderId:1 },
{value: "Access", OrderId: 2}];
fields.sort(function(a,b){
return parseInt(a.OrderId) - parseInt(b.OrderId);
})
console.log(fields);
Upvotes: 6