// sort() = method used to sort elements of an array in place. // Sorts elements as strings in lexicographic order, not alphabetical // lexicographic = (alphabet + numbers + symbols) as strings
@@raniv5132 Sure thing! Here's what's happening: If the return value is negative, a should come before b (i.e., a is less than b). If the return value is positive, a should come after b (i.e., a is greater than b). If the return value is zero, the order of a and b remains unchanged with respect to each other.
so the parameter a is the the first and the parameter b is the second.. can we switch the two parameter so that b is the first and a is the second? just like this? in the number.sort((b,a) => b - a)
if you sorted words "az" and "b", az is first because "a" is before "b" if you sorted numbers "10" and "2", 10 is first because the "1" in 10 is before "2"
I'm pretty sure it works for numbers greater than ten? ((a, b) => a - b) In another video a guy explains that it subtracts b from a (in this case) and if the answer is greater than 0, b comes first. If the answer is less than 0, a comes first. so ((a, b) 1324 - 549) the answer is 775 which is greater than 0 so b comes first ((a, b) 342 - 1293) the answer is -951 which is less than so a comes first
i want re-sort object according to name preserving keys //js const people = {1:{name:'carole',age:13},2:{name:'bob',age:12},3:{name:'alice',age:11}} //required output people = {3:{name:'alice',age:11},2:{name:'bob',age:12},1:{name:'carole',age:13}}
// sort() = method used to sort elements of an array in place.
// Sorts elements as strings in lexicographic order, not alphabetical
// lexicographic = (alphabet + numbers + symbols) as strings
// ---------- EXAMPLE 1 ----------
const numbers = [1, 10, 2, 9, 3, 8, 4, 7, 5, 6];
numbers.sort((a, b) => a - b); //FORWARD
numbers.sort((a, b) => b - a); //REVERSE
console.log(numbers);
// ---------- EXAMPLE 2 ----------
const people = [{name: "Spongebob", age: 30, gpa: 3.0},
{name: "Patrick", age: 37, gpa: 1.5},
{name: "Squidward", age: 51, gpa: 2.5},
{name: "Sandy", age: 27, gpa: 4.0}]
people.sort((a, b) => a.age - b.age); //FORWARD
people.sort((a, b) => b.age - a.age); //REVERSE
people.sort((a, b) => a.gpa - b.gpa); //FORWARD
people.sort((a, b) => b.gpa - a.gpa); //REVERSE
people.sort((a, b) => a.name.localeCompare(b.name)); //FORWARD
people.sort((a, b) => b.name.localeCompare(a.name)); //REVERSE
console.log(people);
Thank you dude.
Lol You did squidward dirty giving him a gpa lower than spongebob
lol
Thank You! you make it easy to understand.
very cool, thanks for sharing!
Thank you, you made this easy to understand
This guy is such a clutch
Thank you!
Thanks brother this video is very easy to understand
great vid bro.
this helped in understanding how sort() works but i need to sort the outputs of mathemetical functions , how do you do that?
hey Bro thanks for your videos, can you make some projects to understand how to use all this JavaScript methods for a website ?
thank you
1:40 - Thanks for explaining the a - b thing in sort(). I didn't understand what was going on under the hood.
Still,I could nt understand this thing ..could yu explain with example?
@@raniv5132 Sure thing! Here's what's happening:
If the return value is negative, a should come before b (i.e., a is less than b).
If the return value is positive, a should come after b (i.e., a is greater than b).
If the return value is zero, the order of a and b remains unchanged with respect to each other.
Life saver
Thanks,
❤ from India
thanks again
What’s the complexity of this sort() method
thanks bro
are these old videos or are they new?
They're new but unlisted since I still need to create thumbnails
ok ok. thanks!@@BroCodez
so the parameter a is the the first and the parameter b is the second..
can we switch the two parameter so that b is the first and a is the second? just like this? in the number.sort((b,a) => b - a)
yep it the same as number.sort((b,a) => b - a) it is just a naming
Why sort method works for only numbers below 10 ? Like wise in example apart from using Arrow function
if you sorted words "az" and "b", az is first because "a" is before "b"
if you sorted numbers "10" and "2", 10 is first because the "1" in 10 is before "2"
I'm pretty sure it works for numbers greater than ten? ((a, b) => a - b) In another video a guy explains that it subtracts b from a (in this case) and if the answer is greater than 0, b comes first. If the answer is less than 0, a comes first.
so ((a, b) 1324 - 549) the answer is 775 which is greater than 0 so b comes first
((a, b) 342 - 1293) the answer is -951 which is less than so a comes first
Cool
Thanks for like
i would think squidward is more intelligent than spongebob
i want re-sort object according to name preserving keys
//js
const people = {1:{name:'carole',age:13},2:{name:'bob',age:12},3:{name:'alice',age:11}}
//required output
people = {3:{name:'alice',age:11},2:{name:'bob',age:12},1:{name:'carole',age:13}}
hey bro