Sort array with lodash by value (integer)

ArraysSortingReturnLodash

Arrays Problem Overview


I'm really struggling on that but I cannot find a solution.

I have an array and I want to sort it by value (all integers). I thought, well let's use lodash, there sure must be a handy function for that.

Somehow I cannot figure out to do this though.

So far I got this:

myArray = [3, 4, 2, 9, 4, 2]

I got a result if I used this code:

myArray = _(myArray).sort();

But unfortunately the return value does not seem to be an array anymore. myArray.length is undefined after the sorting.

I found thousands of examples of lodash sorting array but always via key. https://lodash.com/docs#sortBy

Can somebody tell my how I can get the following return result as an array?:

[2, 2, 3, 4, 4, 9]

It can't be that difficult, but somehow I don't get it done...

Also sometimes I think that lodash documentation is a little complex. I'm probably just missing out an important detail...

Arrays Solutions


Solution 1 - Arrays

You can use the sortBy() function here. You don't have to specify a key, as it will fall back to identity().

var myArray = [ 3, 4, 2, 9, 4, 2 ];

_.sortBy(myArray);
// → [ 2, 2, 3, 4, 4, 9 ]

_(myArray).sortBy().take(3).value();
// → [ 2, 2, 3 ]

Solution 2 - Arrays

Selected Answer is right but we can also do that task with sort()

const _ = require('lodash');
const myArray = [1,2,3,4,"A1","A10","A11","A12","A2","A3","A4","AZ","A5","B10", "B2", "F1", "F12", "F3",1,5,6,7,0,"a","b","a1"];

const sortFilter = _(myArray).sort().value();
console.log(sortFilter)

const sortByFilter = _(myArray).sortBy().value();
console.log(sortByFilter)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMercView Question on Stackoverflow
Solution 1 - ArraysAdam BoduchView Answer on Stackoverflow
Solution 2 - ArraysRenish GotechaView Answer on Stackoverflow