How to sort an object/JSON

sainath3
Mega Guru

Hi Team,

 

Am facing an issue while sorting object/JSON .

gs.info(" key is " + key + " amountForline[key] " + amountForline[key]);

Current Output:

*** Script: key is INV0033600 amountForline[key] 584.07
*** Script: key is INV0016484 amountForline[key] 1280.00
*** Script: key is INV0037471 amountForline[key] 896.00
*** Script: key is INV0047360 amountForline[key] 36.87

 

I want these key,value should be in Descending order like below:

*** Script: key is INV0047360 amountForline[key] 36.87

*** Script: key is INV0033600 amountForline[key] 584.07

*** Script: key is INV0037471 amountForline[key] 896.00

*** Script: key is INV0016484 amountForline[key] 1280.00

 

 

 

1 REPLY 1

Chetan Mahajan
Kilo Sage
Kilo Sage

Hello @sainath3 ,

                               Please try below script 

// Assuming amountForline is your JSON object

// Convert object to array of key-value pairs
var keyValueArray = [];
for (var key in amountForline) {
        keyValueArray.push({ key: key, value: amountForline[key] });
}

// : Sort the array based on values in descending order
keyValueArray.sort(function(a, b) {
    return b.value - a.value;
});

//  Print the sorted key-value pairs
for (var i = 0; i < keyValueArray.length; i++) {
    gs.info("key is " + keyValueArray[i].key + " amountForline[key] " + keyValueArray[i].value);
}

Kindly mark correct and helpful if applicable