79155777

Date: 2024-11-04 14:19:57
Score: 0.5
Natty:
Report link

I don't know if it's my fault but it's doesn't work. my new code is this:

function myFunction() {

let objects = SpreadsheetApp.getActive().getSheetByName("Feuille 7").getRange('D:E').getValues()
let order = SpreadsheetApp.getActive().getSheetByName("Feuille 7").getRange('A:A').getValues().flat()

/* Create a mapping object `orderIndex`:
*/

let orderIndex = {}
order.forEach((value, index) => orderIndex[value] = index);

// Sort
objects.sort((a, b) => orderIndex[a] - orderIndex[b]) 

// Log
Logger.log("/////////////////////////order////////////////////////////////")
Logger.log(order)
Logger.log("/////////////////////////objects////////////////////////////////")
Logger.log(objects)


SpreadsheetApp.getActive().getSheetByName("Feuille 7").getRange('H:I').setValues(objects)
}

a array 1D b 156 array 2D b 156 result
b f 68 f 68
c a 507 a 507
d c 22 c 22
e d 430 d 430
f e 555 e 555
g g 689 g 689
h k 62 k 62
i l 395 l 395
j i 209 i 209
k j 745 j 745
l h 37 h 37
Reasons:
  • Long answer (-1):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • No latin characters (0.5):
  • Low reputation (1):
Posted by: Romain Gapteau