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

130
Visualizações
No entiendo cómo este código puede detectar la longitud.
var data = [1, 2, 3, 5, 2, 1, 4]; // iterate over elements and filter var res = data.filter(function (v) { // get the count of the current element in array // and filter based on the count return data.filter(function (v1) { // compare with current element return v1 == v; // check length }).length == 1; }); console.log(res);

Entiendo toda la línea en este código, pero no entiendo cómo puede detectar la length==1 .

(My opinion ) Debido a que recorre cada elemento de la matriz y return boolean value ya sea verdadero o falso, entonces, ¿cómo se puede usar para detectar la longitud?

Este código es para obtener el elemento de la matriz que solo aparece una vez en la matriz.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

  1. El retorno verdadero no es para devolver el booleano, pero cuando devuelve verdadero desde dentro de un filtro, ese elemento se agrega a la matriz resultante de la función de filtro.

  2. El proceso aquí se llama encadenamiento de métodos. En la línea 11, primero, se aplica el filtro a la matriz de datos, luego se aplica el método .length al resultado del filtro, que será una matriz de igual longitud o menor que el número de elementos de la matriz de datos. Luego, finalmente, solo una vez que se llama al retorno, que será un valor booleano utilizado para el filtro externo.

Otro ejemplo:

 function reverseString (inputString) { return inputString.split("").reverse().join() }

En el ejemplo anterior, la función regresa después de la división, luego se invierte en el resultado de la división y luego se une al resultado de la inversa. Solo se devuelve la cadena resultante final.

about 4 years ago · Juan Pablo Isaza Relatório

0

No pienses en ello como líneas de código. Divide cada segmento de código en su verdadero significado mi padawan

 data.filter(function (v1) { // compare with current element return v1 == v; // check length })

filtra la matriz de datos para devolver una matriz de elementos de data de modo que cada elemento sea igual a v

Al verificar si su longitud es 1, desea devolver verdadero si la matriz tiene solo 1 elemento.

Asi que,

 var res = data.filter(function (v) { // return true if there is only 1 element in data which is equal to v });

Lo que básicamente significa que estamos filtrando data y devolviendo una nueva matriz donde cada elemento es tal que solo tiene una aparición en la matriz.

about 4 years ago · Juan Pablo Isaza Relatório

0

La función para el filter devuelve un valor booleano, pero el filter en sí mismo devuelve una matriz.

Así por ejemplo:

array.filter(function(element) { return element >= 0; });

dice que la función function(element) { return element >= 0; } se aplicará a cada elemento de la array . Entonces, si el resultado de la función es true , ese elemento existirá en la versión filtrada final de la array (que es lo que devuelve la función de filter ), o no existirá si el resultado es false .

En efecto, todos los números negativos de la array se filtrarán porque devuelven false .

Lo que dice su código es lo siguiente: para cada elemento en data , filtre data para mantener solo los elementos iguales al actual. Si esta lista filtrada tiene solo un elemento, entonces solo puede ser nuestro elemento actual. Por lo tanto, este elemento existe solo una vez y debe mantenerse en el resultado final, por lo que devolvemos true si .length == 1 . Al final, una vez que se hace esto para cada elemento, el filter es lo suficientemente inteligente como para convertir esos resultados de true y false en una matriz de los elementos que produjeron true y omitir los que produjeron false .

about 4 years ago · Juan Pablo Isaza 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