Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

211
Visualizações
Encontrar el índice de un elemento en una matriz específica

Estoy creando un script de aplicación de Google Sheets en el que quiero verificar si un valor de una celda está en una matriz de valores, luego encontrar cuál es el índice para poder dirigir mi función a esa celda.

Estoy en el punto donde tengo mi matriz en una variable llamada distArray , y quiero verificar si "id" está en esa matriz.

Aquí está el código para visualizar mejor:

 function logs() { let app = SpreadsheetApp let dest = app.getActiveSpreadsheet().getSheetByName("Baza Danych"); let lastrow = dest.getLastRow(); let destArr = dest.getRange(2, 1, lastrow).getValues(); let id = app.getActiveSpreadsheet().getSheetByName("Zgloszenia").getRange(6, 2).getValue(); let position = destArr.indexOf(id); Logger.log(id) Logger.log(destArr) Logger.log(position) }

Y aquí está la salida que obtengo.

Mi problema es que no importa cuál sea el valor de "id" , el índice es -1 o 0 , lo que significa que el valor no está en la matriz o está en la primera celda.

about 4 years ago · Santiago Gelvez
2 Respostas
Responde à pergunta

0

Intente agregar .flat() al final de la línea:

 let destArr = dest.getRange(2, 1, lastrow).getValues();

De esta manera:

 let destArr = dest.getRange(2, 1, lastrow).getValues().flat();

Explicación:

El método getValues() te da una matriz 2d [[1],[2],[3],...] .

El método flat() convierte una matriz 2d en una matriz plana ordinaria [1,2,3,...] .

Después de eso, podrá usar array.indexOf(element) para obtener un índice del elemento en la matriz.

about 4 years ago · Santiago Gelvez Relatório

0

Descripción

La solución de Yuri es un buen ejemplo si no desea saber qué elemento de la matriz contiene el valor que busca. Pero si necesita saber qué fila de la matriz contiene el valor, el siguiente ejemplo muestra cómo buscar una matriz 2D.

Guion

 function find() { try { let a = [['a','b'],['c','d'],['e','f'],['g','h']]; let b = "f"; let c = a.findIndex( d => d.indexOf(b) >= 0 ); console.log("c = "+c); } catch(err) { console.log(err); } } 7:51:23 AM Notice Execution started 7:51:24 AM Info c = 2 7:51:23 AM Notice Execution completed

Referencia

  • Array.findIndex()
  • Array.indexOf()
about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda