• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

166
Views
Comprobación de cadenas duplicadas en la matriz de JavaScript

Tengo una matriz JS con cadenas, por ejemplo:

 var strArray = [ "q", "w", "w", "e", "i", "u", "r"];

Necesito comparar cadenas duplicadas dentro de la matriz, y si existe una cadena duplicada, debería haber un cuadro de alerta que apunte a esa cadena.

Estaba tratando de compararlo con for loop, pero no sé cómo escribir código para que la matriz verifique sus propias cadenas en busca de duplicados, sin una cadena predeterminada para comparar.

about 3 years ago · Santiago Trujillo
3 answers
Answer question

0

La función findDuplicates (a continuación) compara el índice de todos los elementos de la matriz con el índice de la primera aparición del mismo elemento. Si los índices no son los mismos, lo devuelve como duplicado.

 let strArray = [ "q", "w", "w", "w", "e", "i", "u", "r"]; let findDuplicates = arr => arr.filter((item, index) => arr.indexOf(item) != index) console.log(findDuplicates(strArray)) // All duplicates console.log([...new Set(findDuplicates(strArray))]) // Unique duplicates

about 3 years ago · Santiago Trujillo Report

0

Uso de las funciones de ES6

  • Debido a que cada valor en el Conjunto tiene que ser único, se verificará la igualdad de valores.

 function checkIfDuplicateExists(arr) { return new Set(arr).size !== arr.length } var arr = ["a", "a", "b", "c"]; var arr1 = ["a", "b", "c"]; console.log(checkIfDuplicateExists(arr)); // true console.log(checkIfDuplicateExists(arr1)); // false

about 3 years ago · Santiago Trujillo Report

0

 var strArray = [ "q", "w", "w", "e", "i", "u", "r", "q"]; var alreadySeen = []; strArray.forEach(function(str) { if (alreadySeen[str]) console.log(str); else alreadySeen[str] = true; });

Agregué otro duplicado allí desde su original solo para mostrar que encontraría un duplicado no consecutivo.

Versión actualizada con función de flecha:

 const strArray = [ "q", "w", "w", "e", "i", "u", "r", "q"]; const alreadySeen = []; strArray.forEach(str => alreadySeen[str] ? console.log(str) : alreadySeen[str] = true);

about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error