uriid1

Date sort LUA

Sep 10th, 2021 (edited)
1,224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.86 KB | None | 0 0
  1. local array = {
  2.     { date = '21.13.2000' };
  3.     { date = '25.12.2012' };
  4.     { date = '10.01.2017' };
  5.     { date = '10.01.2001' };
  6.     { date = '15.11.2016' };
  7.     { date = '21.12.2012' };
  8.     { date = '11.12.2000' };
  9.     { date = '05.11.2016' };
  10.     { date = '21.12.2002' };
  11. };
  12.  
  13. -- Date '21.12.2002' to number 20021221
  14. function date2number_reverce(date)
  15.     local t = {}
  16.     local i = 0
  17.     for s in string.gmatch(date, "%d+") do
  18.         i = i + 1
  19.         t[i] = s
  20.     end
  21.    
  22.     t[1], t[2], t[3] = t[3], t[2], t[1]
  23.     return tonumber(table.concat(t))
  24. end
  25.  
  26. -- Bubble sort
  27. for i = 1, #array do
  28.     for j = i + 1, #array do
  29.         if (date2number_reverce(array[i].date) > date2number_reverce(array[j].date)) then
  30.             array[i], array[j] = array[j], array[i]
  31.         end
  32.     end
  33. end
  34.  
  35.  
  36. for i = 1, #array do
  37.     print(array[i].date)
  38. end
Add Comment
Please, Sign In to add comment