nelsonjrr23 Posted August 1, 2016 Share Posted August 1, 2016 I don't know why table.sort not work. Help me pls Code: panelTest = {} panelTest.name = "Panel Teste" panelTest.visible = false panelTest['cp'] = {} panelTest['cp'].windowN = Element.create("window") panelTest['cp'].windowN:setPosition(200,100,400,400) panelTest['cp'].windowN:setZOrder(1) panelTest['cp'].labelN = Element.create("label") panelTest['cp'].labelN:setPosition(30,100,60,20) panelTest['cp'].labelN:setZOrder(2) panelTest['cp'].editboxN = Element.create("editBox") panelTest['cp'].editboxN:setPosition(130,100,90,20) panelTest['cp'].editboxN:setParent(self['cp'].windowN) panelTest['cp'].editboxN:setZOrder(3) panelTest['cp'].buttonN = Element.create("button") panelTest['cp'].buttonN:setPosition(260,100,70,30) panelTest['cp'].buttonN:setZOrder(4) panelTest['cp'].buttonN2 = Element.create("button") panelTest['cp'].buttonN2:setPosition(200,120,70,30) panelTest['cp'].buttonN2:setZOrder(5) addCommandHandler ( "teste", function () table.sort(panelTest['cp'], function(a,b) return a.zOrder < b.zOrder end) for i,v in pairs(panelTest['cp']) do outputChatBox(" - "..v.zOrder,255,0,0,true) end end ) function teste return: 3 2 4 5 1 I need function return : 1 2 3 4 5 Link to comment
N3xT Posted August 1, 2016 Share Posted August 1, 2016 try that table.sort(panelTest['cp'],function( a, b ) return ( tonumber( a[2] ) or 0 ) > ( tonumber( b[2] ) or 0 ) end ) Link to comment
nelsonjrr23 Posted August 2, 2016 Author Share Posted August 2, 2016 try that table.sort(panelTest['cp'],function( a, b ) return ( tonumber( a[2] ) or 0 ) > ( tonumber( b[2] ) or 0 ) end ) Nop, return the same man. But i need order the elements by .zOrder number, i dont understend why you try use [2]. Link to comment
Bonus Posted August 2, 2016 Share Posted August 2, 2016 pairs is the thing wrong here Use ipairs instead pairs doesn't go from 1 to n, ipairs / for i=1, length does Link to comment
nelsonjrr23 Posted August 7, 2016 Author Share Posted August 7, 2016 pairs is the thing wrong hereUse ipairs instead pairs doesn't go from 1 to n, ipairs / for i=1, length does The problem not is it ! But i already fix the problem. Close topic. Link to comment
Bonus Posted August 7, 2016 Share Posted August 7, 2016 Don't write wrong things, it's clearly because of pairs here ... Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now