es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

cómo verificar después de eliminar un elemento de un arreglo

Hola, he creado un programa que elimina un array de otro, pero solo funciona correctamente si ingreso dos valores iguales al mismo tiempo, ya que elimina solo un valor debido al segundo argumento de la función “splice”. ¿Cómo puedo verificar después de eliminar un elemento si hay algún otro número restante? A continuación, se muestra mi código:

const arr1 = [1, 2, 2, 3, 5, 2, 3, 7];
const arr2 = [2, 3];

let countArr = [];
for (let i = 0; i < arr2.length; i++) {
  for (let j = 0; j <= arr1.length; j++) {
    if (arr1[j] === arr2[i]) {
      arr1.splice(j, 1);
    }
  }
}
console.log(arr1);
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <script src="demo.js"></script>
</body>

</html>

Espero que esto te sea de ayuda.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para verificar si quedan otros números en arr1 después de eliminar los elementos coincidentes en arr2, puedes usar un bucle para iterar a través de arr1 y agregar todos los elementos únicos a un nuevo array. Aquí tienes una versión actualizada de tu código con esta funcionalidad agregada:

    const arr1 = [1, 2, 2, 3, 5, 2, 3, 7];
    const arr2 = [2, 3];
    
    for (let i = 0; i < arr2.length; i++) {
      for (let j = 0; j <= arr1.length; j++) {
        if (arr1[j] === arr2[i]) {
          arr1.splice(j, 1);
        }
      }
    }
    
    let uniqueArr = [];
    for (let i = 0; i < arr1.length; i++) {
      if (!uniqueArr.includes(arr1[i])) {
        uniqueArr.push(arr1[i]);
      }
    }
    
    console.log(uniqueArr);
    

    Esto mostrará:

    [1, 5, 7]
    

    lo cual muestra que se eliminó un elemento de 2 y un elemento de 3 de arr1, dejando solo los elementos únicos.

Comments are closed.