## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
##### Activity
Shivansh Suhane

Think I understand the JS version:

function comparator(a, b) {
if (a[1] > b[1]) return -1
if (a[1] < b[1]) return 1
return 0
}

myArray = myArray.sort(comparator)

Jacob Rothstein
@jbr
so sorting by the second element in sibilant might look like:
(var x [[0 1] [ 3 5] [ 0 0 ]])
(.sort x (#([a b] [c d])
(if (< b d) -1
(= b d) 0
1)))
(console.log x)
(if i got the logic right)
Shivansh Suhane
That worked like a charm. Thanks!
Jacob Rothstein
@jbr
Shivansh Suhane
ðŸ¥³ðŸ¥³
motivate
@motivate:matrix.org
[m]
regarding sorting this
I want my count to be printed in descending order
but I am not able to do it in sibilant
I am using this
code
from above reference
Jacob Rothstein
@jbr
could you reformat that as one code block? it's hard to tell what you're doing
I don't see anything about sorting in that code block
motivate
@motivate:matrix.org
[m]
it is giving me output for input: (var strings (list 'hello 'hi 'hi 'hello 'hi))
output: { hello: 2, hi: 3 }
undefined
@jbr
@jbr: I have not done sorting in this code
Jacob Rothstein
@jbr
could you reformat the code into a single block? i can't really tell what's going on
motivate
@motivate:matrix.org
[m]
I want my output to be {hi:3, hello:2} in descending order
okay let me send a picture to you
Jacob Rothstein
@jbr
please just use 
motivate
@motivate:matrix.org
[m]
Nope I am not able to do it
Jacob Rothstein
@jbr
 is different from '''
motivate
@motivate:matrix.org
[m]
ohh okay sorry
Jacob Rothstein
@jbr
there's a lot going on here. console.log returns undefined
so arrayToHash returns undefined
motivate
@motivate:matrix.org
[m]
Yes I want to remove this undefined
and I want my array to be printed
with the count of strings
and that too in descending order
Jacob Rothstein
@jbr
so return stringHash instead of (console.log stringHash)
objects in javascript are technically ordered but there is no way to sort them
it's best to treat them as unordered
if you need them to be sorted, you'll want to return something other than an object
motivate
@motivate:matrix.org
[m]
Yes I need to sort them
Can you help me with that
Jacob Rothstein
@jbr
i don't understand what you're trying to output
objects aren't sorted
i mean object keys are not reorderable. they're insert ordered
motivate
@motivate:matrix.org
[m]
I am getting this output:
{ hello: 2, hi: 3 }
Jacob Rothstein
@jbr
what's wrong with that?
motivate
@motivate:matrix.org
[m]
But I want my output to be hi:3, hello:2
Jacob Rothstein
@jbr
i mean what do you want the output to be?
that's not how objects work, it's like a hash or a map
motivate
@motivate:matrix.org
[m]
so should I change the whole code