ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / WLanguage functions / Standard functions / Queue, stack, list and array functions / Array functions
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Deletes the duplicates from an array.
The following arrays can be handled:
  • One-dimensional array of simple elements.
  • Two-dimensional array of simple elements. Duplicates are deleted according to the value of one or more columns.
  • One-dimensional array of classes or structures. Duplicates are deleted according to the value of one or more members.
  • One-dimensional array by providing a comparison procedure.
Remark: ArrayDistinct is used to obtain a new array without duplicates.
New in version 2024
PHP This function is now available for WEBDEV websites in PHP.
Example
tabMonTableau is array of int = [ 1, 2, 3, 1, 4, 5, 2, 6 ]
// tabMonTableau contient [ 1, 2, 3, 1, 4, 5, 2, 6 ]

ArrayDeleteDuplicate(tabMonTableau)
// tabMonTableau contient [ 1, 2, 3, 4, 5, 6 ]
// Utilisation avec un tableau de structures
stUneCatégorie is Structure
CODE_CATEGORIE is string(5)
CATEGORIE is string(300)
END
tabLesCatégories is array of stUneCatégorie

// Code de remplissage du tableau
...

// Suppression des doublons
ArrayDeleteDuplicate(tabLesCatégories, asMember, "CODE_CATEGORIE;CATEGORIE")
Syntax

Deleting the duplicates from a one-dimensional array of simple elements Hide the details

ArrayDeleteDuplicate(<WLanguage array> [, <Deletion options>])
<WLanguage array>: Array
Name of the Array variable to use. This array must be a one-dimensional array.
This array can also correspond to an array of simple elements of an advanced variable ("Group" array in the gglContact variables for example).
<Deletion options>: Optional integer constant
Deletion options corresponding to one or more constants:
tccIgnoreAccentDelete duplicates ignoring accents.
This option is useful for arrays of strings.
WEBDEV - Browser code This constant is not available.
tccIgnoreCaseDelete duplicates ignoring case.
This option is useful for the arrays of character strings.
tccIgnoreInsideSpaceDelete duplicates ignoring spaces inside strings.
This option is useful for the arrays of character strings.
tccIgnorePonctuationAndSpaceDelete duplicates ignoring spaces and punctuation.
This option is useful for arrays of strings.
WEBDEV - Browser code This constant is not available.
tccIgnoreSpaceDelete duplicates ignoring the spaces at the beginning and at the end of strings.
This option is useful for the arrays of character strings.

PHP This parameter is not available.
PHP This syntax is not available in PHP

Deleting duplicates from a two-dimensional array of simple elements according to one or more columns Hide the details

ArrayDeleteDuplicate(<WLanguage array> , <asColumn> , <Column>)
<WLanguage array>: Array
Name of the Array variable to use. This array must be a two-dimensional array.
This array can also correspond to a two-dimensional array of an advanced type (for example, deleting duplicates from an xlsDocument variable according to the column value).
<asColumn>: Constant
asColumn: Constant used to handle a two-dimensional array of simple elements according to several columns.
The asColumn constant can be combined with one or more options for deletion:
tccIgnoreAccentDelete duplicates ignoring accents.
This option is applied to all the columns according to which the deletion of duplicates is performed.
This option is useful for arrays of strings.
WEBDEV - Browser code This constant is not available.
tccIgnoreCaseDelete duplicates ignoring case.
This option is applied to all the columns according to which the deletion of duplicates is performed.
This option is useful for the arrays of character strings.
tccIgnoreInsideSpaceDelete duplicates ignoring spaces inside strings.
This option is applied to all the columns according to which the deletion of duplicates is performed.
This option is useful for the arrays of character strings.
tccIgnorePonctuationAndSpaceDelete duplicates ignoring spaces and punctuation.
This option is applied to all the columns according to which the deletion of duplicates is performed.
This option is useful for the arrays of character strings.
WEBDEV - Browser code This constant is not available.
tccIgnoreSpaceDelete duplicates ignoring the spaces at the beginning and at the end of strings.
This option is applied to all the columns according to which the deletion of duplicates is performed.
This option is useful for the arrays of character strings.
<Column>: Integer or character string
  • If a single column must be taken into account, subscript of the column that must be taken into account for the deletion of duplicates.
  • If several columns must be taken into account, list of columns that must be taken into account for the deletion of duplicates. The different columns must be separated by a semicolon.
PHP This syntax is not available in PHP

Deleting the duplicates from a one-dimensional array of classes, structures or advanced types Hide the details

ArrayDeleteDuplicate(<WLanguage array> , <asMember> , <Members>)
<WLanguage array>: Array
Name of the Array variable to use. This array must be a one-dimensional array. This array can be an array of classes, structures or advanced types.
<asMember>: Constant
asMember: Constant used to handle a one-dimensional array of classes, structures or advanced types.
The asMember constant can be combined with one or more options for deletion:
tccIgnoreAccentDelete duplicates ignoring accents.
This option is applied to all the members according to which the deletion of duplicates is performed.
This option is useful for the "character string" members.
WEBDEV - Browser code This constant is not available.
tccIgnoreCaseDelete duplicates ignoring case.
This option is applied to all the members according to which the deletion of duplicates is performed.
This option is useful for the "character string" members.
tccIgnoreInsideSpaceDelete duplicates ignoring spaces inside strings.
This option is applied to all the members according to which the deletion of duplicates is performed.
This option is useful for the "character string" members.
tccIgnorePonctuationAndSpaceDelete duplicates ignoring spaces and punctuation.
This option is applied to all the members according to which the deletion of duplicates is performed.
This option is useful for the "character string" members.
WEBDEV - Browser code This constant is not available.
tccIgnoreSpaceDelete duplicates ignoring the spaces at the beginning and at the end of strings.
This option is applied to all the members according to which the deletion of duplicates is performed.
This option is useful for the "character string" members.
<Members>: Character string
Name of members used. If the deletion of duplicates is performed according to the value of several members, their names must be separated by semicolons.

Deleting the duplicates from a one-dimensional array with a sort procedure Hide the details

ArrayDeleteDuplicate(<WLanguage array> , <asFunction> , <WLanguage procedure>)
<WLanguage array>: Array
Name of the Array variable to use. This array must be a one-dimensional array.
This array can be an array of advanced types.
<asFunction>: Constant
asFunction: Constant used to handle a one-dimensional array with a sort procedure.
<WLanguage procedure>: Procedure name
WLanguage procedure in the following format:
PROCEDURE <Nom Procédure>(<Elément1>, <Elément2>)
This procedure is automatically called by the deletion mechanism to compare the elements between themselves, two by two.
  • If the element 1 must be found before the element 2 in the sort order, the procedure must return -1.
  • If the element 1 must be found after the element 2 in the sort order, the procedure must return 1.
  • If element 1 and element 2 are identical, the procedure must return 0.
Remarks
  • This function is not available for the fixed arrays.
  • This function can be used on the arrays of advanced variables.
  • Dynamic array of variants: Only a custom deletion (with a WLanguage procedure) can be used.
Business / UI classification: Neutral code
Component: wd290vm.dll
Minimum version required
  • Version 16
This page is also available for…
Comments
Exemplo ArrayDeleteDuplicate
// Vou mostrar como eliminar itens duplos no array

tabListanumeros is array of 0 int
ArrayAddLine(tabListanumeros,10)
ArrayAddLine(tabListanumeros,10)
ArrayAddLine(tabListanumeros,5)
ArrayAddLine(tabListanumeros,5)
ArrayAddLine(tabListanumeros,3)
ArrayAddLine(tabListanumeros,3)
EDT_Texto = ArrayToString(tabListanumeros)
//http://doc.windev.com/en-US/?1000019422&name=arraydeleteduplicate_function
// Elimina os Duplos no Array
ArrayDeleteDuplicate(tabListanumeros)
EDT_resultado = ArrayToString(tabListanumeros)
//Antes
//10
//10
//5
//5
//3
//3
//Depois
//10
//5
//3

// Blog com Video e Exemplo
http://windevdesenvolvimento.blogspot.com.br/2016/12/aula-994-windev-array-006.html
https://www.youtube.com/watch?v=s8BfjdlV13g
De matos
13 Dec. 2016

Last update: 11/22/2023

Send a report | Local help