Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

132
Views
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

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 },
  ])
);

Expected output

//expected output: [{a:1,b:2},{a:5,b:4}]
// expected output: [{a:5,b:4},{a:2,b:10}]

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

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}]
about 4 years ago · Santiago Trujillo Report

0

You can use the sort method available on arrays.

You can also make your sort function more generic by accepting the key according to which the objects need to sorted and the order for sorting.

function sortArrayOfObjects(arr, sortKey, isAscending = true) {
  return [...arr].sort(({ [sortKey]: a }, { [sortKey]: b }) =>
    isAscending ? a - b : b - a
  );
}

console.log(sortArrayOfObjects([{ a: 5, b: 2 }, { a: 1, b: 4 }], "a"));
console.log(sortArrayOfObjects([{ a: 2, b: 10 }, { a: 5, b: 4 }], "b"));
console.log(sortArrayOfObjects([{ a: 1, b: 7 }, { a: 2, b: 1 }], "a", false));

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!