Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

JavaScript: Comparing Two objects in one array

I’m new to this world of vanilla javascript. I’ve been trying complete some challenges but it seems like I’m unable to find the solution to a challenge.

The task is:"Sort array by object property"

  1. Write a function that takes an array of objects as an argument
  2. Sort the array by property b in ascending order
  3. Return the sorted array

This is the furthest I could go-

    function arraySorter(arr) {
      return arr
        .map((e) => {
          return Object.values(e);
        })
        .filter((e, i) => {
          console.log(e[1]);
          return;
        });
    }
    
    console.log(
      arraySorter([
        { a: 1, b: 2 },
        { a: 5, b: 4 },
      ])
    );

This is the desired output I'm looking for:
```javascript
console.log(arraySorter([{a:1,b:2},{a:5,b:4}])) //expected output: [{a:1,b:2},{a:5,b:4}]
console.log(arraySorter([{a:2,b:10},{a:5,b:4}]) //Expected output: [{a:5,b:4},{a:2,b:10}]
console.log(arraySorter([{a:1,b:7},{a:2,b:1}]) //Expected output: [{a:2,b:1},{a:1,b:7}]

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

To sort with numbers.

  1. sorting ascending ( first argument – second argument )
  2. sorting descending ( second argument – first argument ),

as sort function should return

  1. positive number if the first argument is bigger than the second argument.
  2. negative number if second argument is bigger than first argument.
  3. zero if both are equal.
    function arraySorter(arr) {
       return arr.sort((x, y) => x.b - y.b)
    }
    
    console.log(arraySorter([{a:1,b:2},{a:5,b:4}])) //expected output: [{a:1,b:2},{a:5,b:4}]
    console.log(arraySorter([{a:2,b:10},{a:5,b:4}])) //Expected output: [{a:5,b:4},{a:2,b:10}]
    console.log(arraySorter([{a:1,b:7},{a:2,b:1}])) //Expected output: [{a:2,b:1},{a:1,b:7}]
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading