Dadas dos arrays que contienen elementos de array y la tarea es verificar si dos arrays contienen elementos comunes, entonces devuelve True; de lo contrario, devuelve False.
Ejemplos:
Input: array1 = ['a', 'b', 'c', 'd', 'e'] array2 = ['f', 'g', 'c'] Output: true Input: array1 = ['x', 'y', 'w', 'z'] array2 = ['m', 'n', 'k'] Output: false
Hay muchos métodos para resolver este problema en JavaScript, algunos de ellos se describen a continuación.
Método 1: enfoque de fuerza bruta
- Compare todos y cada uno de los elementos de la primera array con todos y cada uno de los elementos de la segunda array.
- Recorra array1 e itérelo desde el principio hasta el final.
- Recorra array2 e itérelo desde el principio hasta el final.
- Compare todos y cada uno de los elementos de array1 a array2 y, si encuentra algún elemento común, devuelva verdadero; de lo contrario, devuelva falso.
Ejemplo:
javascript
<script> // Declare two array const array1 = ['a', 'b', 'c', 'd']; const array2 = ['k', 'x', 'z']; // Function definition with passing two arrays function findCommonElement(array1, array2) { // Loop for array1 for(let i = 0; i < array1.length; i++) { // Loop for array2 for(let j = 0; j < array2.length; j++) { // Compare the element of each and // every element from both of the // arrays if(array1[i] === array2[j]) { // Return if common element found return true; } } } // Return if no common element exist return false; } document.write(findCommonElement(array1, array2)) </script>
Producción:
false
Tiempo Complejidad: O(M * N)
Método 2:
- Cree un objeto vacío y recorra la primera array.
- Compruebe si los elementos de la primera array existen en el objeto o no. Si no existe, asigne propiedades === elementos en la array.
- Recorra la segunda array y verifique si los elementos de la segunda array existen en el objeto creado.
- Si el elemento existe, devuelve verdadero; de lo contrario, devuelve falso.
Ejemplo:
javascript
<script> // Declare Two array const array1 = ['a', 'd', 'm', 'x']; const array2 = ['p', 'y', 'k']; // Function call function findCommonElements2(arr1, arr2) { // Create an empty object let obj = {}; // Loop through the first array for (let i = 0; i < arr1.length; i++) { // Check if element from first array // already exist in object or not if(!obj[arr1[i]]) { // If it doesn't exist assign the // properties equals to the // elements in the array const element = arr1[i]; obj[element] = true; } } // Loop through the second array for (let j = 0; j < arr2.length ; j++) { // Check elements from second array exist // in the created object or not if(obj[arr2[j]]) { return true; } } return false; } document.write(findCommonElements2(array1, array2)) </script>
Producción:
false
Complejidad temporal: O(M + N)
Método 3:
- Use la función incorporada de ES6 some() para iterar a través de todos y cada uno de los elementos de la primera array y probar la array.
- Use la función incorporada include() con la segunda array para verificar si el elemento existe en la primera array o no.
- Si el elemento existe, devuelve verdadero; de lo contrario, devuelve falso
javascript
<script> // Declare two array const array1= ['a', 'b', 'x', 'z']; const array2= ['k', 'x', 'c'] // Iterate through each element in the // first array and if some of them // include the elements in the second // array then return true. function findCommonElements3(arr1, arr2) { return arr1.some(item => arr2.includes(item)) } document.write(findCommonElements3(array1, array2)) </script>
Producción:
true
JavaScript es mejor conocido por el desarrollo de páginas web, pero también se usa en una variedad de entornos que no son de navegador. Puede aprender JavaScript desde cero siguiendo este tutorial de JavaScript y ejemplos de JavaScript .
Publicación traducida automáticamente
Artículo escrito por anuupadhyay y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA