¿Cómo imprimir elementos únicos de dos arrays desordenadas usando JavaScript?

Dadas dos arrays no ordenadas, la tarea es escribir un programa JavaScript para imprimir los elementos únicos (poco comunes) en las dos arrays.

Acercarse:

  • Cree una array vacía que almacene los elementos únicos de las dos arrays.
  • Iterar sobre todos los elementos de array1 usando un bucle.
  • Establezca el valor de la bandera inicial en 0 para cada iteración.
  • En ese bucle, itere sobre todos los elementos de array2 usando otro bucle y verifique si array1[elemento] está presente en array2.
  • Si está presente, elimine el elemento de array2 usando el método splice() y establezca el indicador en 1.
  • Si array2 se ha recorrido por completo para array1[elemento] y el indicador aún es igual a 0, agregue array1[elemento] a la array de elementos únicos.
  • Repita los pasos 4 a 6 para cada elemento de array1.
  • Finalmente, empuje array2 a la array de elementos únicos ya que todos los elementos duplicados han sido eliminados de array2 (consulte el Paso 5).

Ejemplo: La implementación del enfoque anterior se da a continuación:

Javascript

<script>
function unique(arr1,arr2,uniqueArr) {
    for(var i=0; i<arr1.length; i++) {
        flag = 0;
        for(var j=0; j<arr2.length; j++) {
            if(arr1[i] === arr2[j]) {
                arr2.splice(j,1);
                j--;
                flag = 1;
            }
        }
  
        if(flag == 0) {
            uniqueArr.push(arr1[i]);
        }
    }
    uniqueArr.push(arr2);
    return uniqueArr;
}
  
var arr1 = [54, 71, 58, 95, 20];
  
var arr2 = [71, 51, 54, 33, 80];
  
var uniqueArr = [];
  
console.log("Unique elements in the two arrays are:");
console.log(unique(arr1,arr2,uniqueArr).flat());
</script>

Producción:

Publicación traducida automáticamente

Artículo escrito por SAKSHIKULSHRESHTHA y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *