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”
- Write a function that takes an array of objects as an argument
- Sort the array by property b in ascending order
- 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}]Advertisement
Answer
To sort with numbers.
- sorting ascending ( first argument – second argument )
- sorting descending ( second argument – first argument ),
as sort function should return
- positive number if the first argument is bigger than the second argument.
- negative number if second argument is bigger than first argument.
- 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}]