---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# ArrayUtil - Global

# ArrayUtil - Global {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 min. de leitura

A inclusão de script ArrayUtil fornece métodos para trabalhar com matrizes JavaScript.

Esses métodos estão disponíveis para qualquer script do lado do servidor.

## ArrayUtil - concat (matriz primária, matriz secundária) {#ariaid-title2}

Mesclar duas matrizes.
{#r_AU-concat_A_A__table_ny5_yxz_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| primário | Matriz | Uma matriz a ser mesclada |
| secundário | Matriz | Uma matriz a ser mesclada |
[Tabela 1. Parâmetros]

{#r_AU-concat_A_A__table_ny5_yxz_nt} {#r_AU-concat_A_A__table_oy5_yxz_nt__entry__2}

| Tipo | Descrição |
|-|-|
| Matriz | Uma matriz de elementos de ambas as matrizes de entrada. Duplicatas não são removidas. |
[Tabela 2. Retorna]

{#r_AU-concat_A_A__table_oy5_yxz_nt}  

    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
    var a2 = new Array("c", "d", "e");
     
    gs.print("concat a1, a2: " + arrayUtil.concat(a1, a2));

Saída: concat a1, a2: a,b,c,c,d,e

## ArrayUtil - contém (matriz de matriz, elemento de objeto) {#ariaid-title3}

Pesquisa o elemento especificado na matriz. Retorna verdadeiro se o elemento existir na matriz, caso contrário, retorna falso.
{#r_AU-contains_A_O__table_zbc_w5z_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| matriz | Matriz | Matriz a ser pesquisada. |
| elemento | Objeto | Elemento a ser pesquisado. |
[Tabela 3. Parâmetros]

{#r_AU-contains_A_O__table_zbc_w5z_nt} {#r_AU-contains_A_O__table_acc_w5z_nt__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador que indica se o elemento foi encontrado na matriz. Valores possíveis: * verdadeiro: elemento encontrado na matriz. * falso: elemento não encontrado na matriz. {#r_AU-contains_A_O__ul_k2b_r45_knb} |
[Tabela 4. Retorna]

{#r_AU-contains_A_O__table_acc_w5z_nt}  

    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
     
    gs.print("Contains b: " + arrayUtil.contains(a1, "b"));
    gs.print("Contains x: " + arrayUtil.contains(a1, "x"));

Saída:

    Contains b: true
    Contains x: false

## ArrayUtil -- convertArray(Object a) {#ariaid-title4}

Converte um objeto Java em uma matriz.
{#r_AU-convertArray_O__table_m5s_mb1_4t__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| um | Objeto | Objeto a ser convertido. |
[Tabela 5. Parâmetros]

{#r_AU-convertArray_O__table_m5s_mb1_4t} {#r_AU-convertArray_O__table_n5s_mb1_4t__entry__2}

| Tipo | Descrição |
|-|-|
| Matriz | Matriz criada a partir do objeto. |
[Tabela 6. Retorna]

{#r_AU-convertArray_O__table_n5s_mb1_4t}  
Este exemplo converte um objeto Java em uma matriz.

    var arrayUtil = new ArrayUtil();
    // Returns a JavaObject with the logged in user's groups
    var groupObj = gs.getUser().getMyGroups();
    gs.print('groupObj: ' + Object.prototype.toString.call(groupObj));

    var groupArr = arrayUtil.convertArray(groupObj);
    gs.print('groupArr: ' + Object.prototype.toString.call(groupArr));

Saída:

    groupObj: [object JavaObject]
    groupArr: [object Array]

## ArrayUtil - diff(Matriz a, Matriz b) {#ariaid-title5}

Encontra as diferenças entre duas ou mais matrizes.
Qualquer número de matrizes pode ser fornecido como parâmetros.
{#r_AU-diff_A_A__table_pgr_xb1_4t__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| um | Matriz | Uma matriz |
| b | Matriz | Uma matriz |
[Tabela 7. Parâmetros]

{#r_AU-diff_A_A__table_pgr_xb1_4t} {#r_AU-diff_A_A__table_qgr_xb1_4t__entry__2}

| Tipo | Descrição |
|-|-|
| Matriz | Retorna uma matriz de itens da matriz a que não foram encontrados na matriz b ou c ou em outras matrizes de entrada. Duplicatas são removidas do resultado. |
[Tabela 8. Retorna]

{#r_AU-diff_A_A__table_qgr_xb1_4t}  

    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
    var a2 = new Array("c", "d", "e");
    gs.print(arrayUtil.diff(a1, a2));

Saída: a,b

## ArrayUtil - garantirArray(objeto objeto) {#ariaid-title6}

Retorna uma matriz do objeto especificado.
{#r_AU-ensureArray_O__table_wh1_hxz_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| objeto | Objeto | Objeto a partir do qual uma matriz será criada. |
[Tabela 9. Parâmetros]

{#r_AU-ensureArray_O__table_wh1_hxz_nt} {#r_AU-ensureArray_O__table_xh1_hxz_nt__entry__2}

| Tipo | Descrição |
|-|-|
| Matriz | Matriz criada a partir do objeto. |
[Tabela 10. Retorna]

{#r_AU-ensureArray_O__table_xh1_hxz_nt}  
O exemplo a seguir mostra como criar uma matriz a partir de um objeto e exibir a matriz criada.

    var arrayUtil = new ArrayUtil();
    var o1 = {a:"1",b:"2",c:"3"};
    gs.print('o1 is array: ' + Array.isArray(o1));
    gs.print('o1 stringified: ' + JSON.stringify(o1));

    var a1 = arrayUtil.ensureArray(o1);
    gs.print('a1 is array: ' + Array.isArray(a1));
    gs.print('a1 stringified: ' + JSON.stringify(a1));

Saída:

    o1 is array: false
    o1 stringified: {"a":"1","b":"2","c":"3"}
    a1 is array: true
    a1 stringified: [{"a":"1","b":"2","c":"3"}]

O exemplo a seguir mostra como criar uma matriz a partir de um objeto e exibir o conteúdo da matriz.

    var stock = { 'name': 'Servicenow', 'sym': 'NOW' };

    var arr = new ArrayUtil();
    var stArray = arr.ensureArray(stock);

    gs.info("Name is " + stArray[0]['name']);
    gs.info("Symbol is " + stArray[0]['sym']);

Saída:

    Name is Servicenow
    Symbol is NOW

## ArrayUtil - indexOf (matriz de matriz, elemento de objeto) {#ariaid-title7}

Pesquisa o elemento na matriz. Retorna o índice do elemento ou -1 se não for encontrado.
{#r_AU-indexOf_A_O__table_igr_nwz_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| matriz | Matriz | Matriz a ser pesquisada. |
| elemento | Objeto | Elemento a ser pesquisado. |
[Tabela 11. Parâmetros]

{#r_AU-indexOf_A_O__table_igr_nwz_nt} {#r_AU-indexOf_A_O__table_jgr_nwz_nt__entry__2}

| Tipo | Descrição |
|-|-|
| Número | Posição do elemento na matriz ou -1 se o elemento não for encontrado. |
[Tabela 12. Retorna]

{#r_AU-indexOf_A_O__table_jgr_nwz_nt}  

    var arrayUtil = new ArrayUtil();
    var arr = new Array("a", "b", "c", "x", "y", "z");
    gs.print("Array: " + arr);

    gs.print("Index of a: " + arrayUtil.indexOf(arr, "a"));
    gs.print("Index of a starting at 2: " + arrayUtil.indexOf(arr, "a", 2));

    gs.print("Index of c: " + arrayUtil.indexOf(arr, "c"));
    gs.print("Index of c starting at 1: " + arrayUtil.indexOf(arr, "c", 1));

    gs.print("Index of z: " + arrayUtil.indexOf(arr, "z"));
    gs.print("Index of z starting at 4: " + arrayUtil.indexOf(arr, "z", 4));

    // If negative value is sent as startIndex then (startIndex + length of array ) is considered as start index.

    // startIndex = -1+(6); startIndex is considered as 5 in this case
    gs.print("Index of c starting at -1 (Re-Calculated to 5): " + arrayUtil.indexOf(arr, "c", -1)); 

    // startIndex = -10+(6) which is -4,if negative value again then startIndex is considered as 0
    gs.print("Index of c starting at -10 (Re-Calculated to 0): " + arrayUtil.indexOf(arr, "c", -10)); 

Saída:

    Array: a,b,c,x,y,z
    Index of a: 0
    Index of a starting at 2: -1
    Index of c: 2
    Index of c starting at 1: 2
    Index of z: 5
    Index of z starting at 4: 5
    Index of c starting at -1 (Re-Calculated to 5): -1
    Index of c starting at -10 (Re-Calculated to 0): 2

## ArrayUtil - indexOf (matriz de matriz, elemento de objeto, número startIndex) {#ariaid-title8}

Pesquisa o elemento na matriz que começa no índice especificado. Retorna o índice do elemento ou -1 se não for encontrado.
{#r_AU-indexOf_A_O_N__table_xmd_rvz_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| matriz | Matriz | Matriz a ser pesquisada. |
| elemento | Objeto | Elemento a ser pesquisado. |
| startIndex | Número | Índice a partir do qual iniciar a pesquisa. |
[Tabela 13. Parâmetros]

{#r_AU-indexOf_A_O_N__table_xmd_rvz_nt} {#r_AU-indexOf_A_O_N__table_ymd_rvz_nt__entry__2}

| Tipo | Descrição |
|-|-|
| Número | Posição do elemento na matriz ou -1 se o elemento não for encontrado. |
[Tabela 14. Retorna]

{#r_AU-indexOf_A_O_N__table_ymd_rvz_nt}  

    var arrayUtil = new ArrayUtil();
    var arr = new Array("a", "b", "c", "x", "y", "z");
    gs.print("Array: " + arr);

    gs.print("Index of a: " + arrayUtil.indexOf(arr, "a"));
    gs.print("Index of a starting at 2: " + arrayUtil.indexOf(arr, "a", 2));

    gs.print("Index of c: " + arrayUtil.indexOf(arr, "c"));
    gs.print("Index of c starting at 1: " + arrayUtil.indexOf(arr, "c", 1));

    gs.print("Index of z: " + arrayUtil.indexOf(arr, "z"));
    gs.print("Index of z starting at 4: " + arrayUtil.indexOf(arr, "z", 4));

    // If negative value is sent as startIndex then (startIndex + length of array ) is considered as start index.

    // startIndex = -1+(6); startIndex is considered as 5 in this case
    gs.print("Index of c starting at -1 (Re-Calculated to 5): " + arrayUtil.indexOf(arr, "c", -1)); 

    // startIndex = -10+(6) which is -4,if negative value again then startIndex is considered as 0
    gs.print("Index of c starting at -10 (Re-Calculated to 0): " + arrayUtil.indexOf(arr, "c", -10)); 

Saída:

    Array: a,b,c,x,y,z
    Index of a: 0
    Index of a starting at 2: -1
    Index of c: 2
    Index of c starting at 1: 2
    Index of z: 5
    Index of z starting at 4: 5
    Index of c starting at -1 (Re-Calculated to 5): -1
    Index of c starting at -10 (Re-Calculated to 0): 2

## ArrayUtil - intersect(Matriz a, Matriz b) {#ariaid-title9}

Encontra os elementos presentes em todas as matrizes.
Qualquer número de matrizes pode ser fornecido como parâmetros.
{#r_AU-intersect_A_A__table_v5v_4c1_4t__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| um | Matriz | Uma matriz |
| b | Matriz | Uma matriz |
[Tabela 15. Parâmetros]

{#r_AU-intersect_A_A__table_v5v_4c1_4t} {#r_AU-intersect_A_A__table_w5v_4c1_4t__entry__2}

| Tipo | Descrição |
|-|-|
| Matriz | Uma matriz de elementos da matriz a que foram encontrados em todas as outras matrizes de entrada. As duplicatas são removidas. |
[Tabela 16. Retorna]

{#r_AU-intersect_A_A__table_w5v_4c1_4t}  

    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
    var a2 = new Array("c", "d", "e");
    gs.print(arrayUtil.intersect(a1, a2));

Saída: c

## ArrayUtil - union(Matriz a, Matriz b) {#ariaid-title10}

Mesclar duas ou mais matrizes.
Qualquer número de matrizes pode ser fornecido como parâmetros.
{#r_AU-union_A_A__table_xvq_2d1_4t__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| um | Matriz | Uma matriz |
| b | Matriz | Uma matriz |
[Tabela 17. Parâmetros]

{#r_AU-union_A_A__table_xvq_2d1_4t} {#r_AU-union_A_A__table_yvq_2d1_4t__entry__2}

| Tipo | Descrição |
|-|-|
| Matriz | Uma matriz de itens de todas as matrizes de entrada. As duplicatas são removidas. |
[Tabela 18. Retorna]

{#r_AU-union_A_A__table_yvq_2d1_4t}  

    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
    var a2 = new Array("c", "d", "e");
    gs.print(arrayUtil.union(a1, a2));

Saída: a,b,c,d,e

## ArrayUtil - exclusivo (matriz a) {#ariaid-title11}

Remove itens duplicados de uma matriz.
{#r_AU-unique_A__table_zqw_td1_4t__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| um | Matriz | A matriz para verificar se há elementos duplicados. |
[Tabela 19. Parâmetros]

{#r_AU-unique_A__table_zqw_td1_4t} {#r_AU-unique_A__table_arw_td1_4t__entry__2}

| Tipo | Descrição |
|-|-|
| Matriz | Uma matriz de itens exclusivos da matriz de entrada. |
[Tabela 20. Retorna]

{#r_AU-unique_A__table_arw_td1_4t}  

    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c", "c", "b");
    gs.print(arrayUtil.unique(a1));

Saída: a,c,b

