Exactly how a tutorial should be (in my opinion). Short, on point (no unnecessary talking), with relatable (easy to understand) examples. I give this video 10/10. Thank you for making it.
@@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.
@@raniv5132 basically you swap (a, b) if the calculation after that is positive. Normal Sorting (1, 10) => 1 - 10 --- negative = no swap (normal sorting) (2, 1) => 2 - 1 --- positive ( (2,1) becomes (1,2) ) Reverse Sorting (1, 10) => 10 - 1 --- positive = swap you manipulated the function from (1 - 10) to = (10 - 1), which gets a positive result, which results in swapping, which result in reverse sorting. (1, 10) => 10 - 1 ---- positive = (1, 10) becomes (10, 1)
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
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)
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);
Exactly how a tutorial should be (in my opinion). Short, on point (no unnecessary talking), with relatable (easy to understand) examples. I give this video 10/10. Thank you for making it.
agreeed
Thank you dude.
Lol You did squidward dirty giving him a gpa lower than spongebob
lol
This guy is such a clutch
bro, yer a dang champion!
Great job! Admire your JS and language abilities
Thank you! I was getting the difference between lexicographic and alphabetical
very cool, thanks for sharing!
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.
@@raniv5132 basically you swap (a, b) if the calculation after that is positive.
Normal Sorting
(1, 10) => 1 - 10 --- negative = no swap (normal sorting)
(2, 1) => 2 - 1 --- positive ( (2,1) becomes (1,2) )
Reverse Sorting
(1, 10) => 10 - 1 --- positive = swap
you manipulated the function from (1 - 10) to = (10 - 1), which gets a positive result, which results in swapping, which result in reverse sorting.
(1, 10) => 10 - 1 ---- positive = (1, 10) becomes (10, 1)
are these old videos or are they new?
They're new but unlisted since I still need to create thumbnails
ok ok. thanks!@@BroCodez
Thank you, you made this easy to understand
Thanks brother this video is very easy to understand
Thank You! you make it easy to understand.
this helped in understanding how sort() works but i need to sort the outputs of mathemetical functions , how do you do that?
As always, thank you bro code!!
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
@@rgraptor2542 can you share link to video
Thank you great video 🎉
Thank you!
Hey Bro!
Thank you!
Can I keep the original order?
And sort into another array?
Thanks,
❤ from India
great vid bro.
What’s the complexity of this sort() method
Life saver
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
hey Bro thanks for your videos, can you make some projects to understand how to use all this JavaScript methods for a website ?
Nice
thankyou ❤
just subscibed thanks again
u didnt explain the reason why tho
thank you
thanks man
Thanks...
i would think squidward is more intelligent than spongebob
that's what a squidward would think lol
@@shannonstumpf1861 hahaha
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}}
thanks again
Cool
Thanks for like
thanks bro
Bro it doesnt work
hey bro