cdeb Posted April 23, 2020 Posted April 23, 2020 This is my contribution. Returns a unique 2-dimensional array on a specific column expandcollapse popup; example Local $aArray2D[6][2] = [[1, "A"],[2, "B"],[3, "C"],[1, "F"],[2, "G"],[3, "H"]] _ArrayDisplay($aArray2D, "$aArray2D") Local $iColumUnique = 0 $aArray2Dresult = ArrayUniqueByColum($aArray2D, $iColumUnique) _ArrayDisplay($aArray2Dresult, "$aArray2Dresult") ; #FUNCTION# ============================================================================ ; Name.............: ArrayUniqueByColum ; Description ...: returns a unique 2-dimensional array on a specific column ; restituisce un array 2d unico su colonna specifica ; Syntax...........: ArrayUniqueByColum($aArray2D, $iColumUnique) ; Parameters ...: $aArray2D - The Array 2d to use ; $iColumUnique - column to be taken as a single reference ; Return values: Success - Returns a 2-dimensional array ; Author .........: cdeb ; Version ........: 0.01 ; ======================================================================================= Func ArrayUniqueByColum($aArray2D, $iColumUnique) Local $aArray2Dresult[0][UBound($aArray2D, $UBOUND_COLUMNS)] Local $aArray1DUnique = _ArrayUnique($aArray2D, $iColumUnique, Default , Default , 0) ;_ArrayDisplay($aArray1DUnique, "$aArray1DUnique") For $r = 0 To UBound($aArray1DUnique)-1 ;ConsoleWrite('----------------- $aArray1DUnique['&$r&'] = "'&$aArray1DUnique[$r]&'" -------------------'&@CRLF) For $i = 0 To UBound($aArray2D)-1 ;ConsoleWrite('>> $aArray2D['&$i&'][$iColumUnique] = "'&$aArray2D[$i][$iColumUnique] &""&@CRLF) If $aArray2D[$i][$iColumUnique] == $aArray1DUnique[$r] Then ReDim $aArray2Dresult[UBound($aArray2Dresult, $UBOUND_ROWS)+1][UBound($aArray2Dresult, $UBOUND_COLUMNS)] For $c = 0 To UBound($aArray2D, $UBOUND_COLUMNS)-1 $aArray2Dresult[UBound($aArray2Dresult, $UBOUND_ROWS)-1][$c] = $aArray2D[$i][$c] Next ExitLoop EndIf Next Next ;_ArrayDisplay($aArray2Dresult, "$aArray2Dresult") Return($aArray2Dresult) EndFunc ;==>ArrayUniqueByColum INPUT: [0]|1|A [1]|2|B [2]|3|C [3]|1|F [4]|2|G [5]|3|H OUTPUT: [0]|1|A [1]|2|B [2]|3|C
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