Tengo 3 matrices dentro de una matriz.
Arr = [[arr1],[arr2],[arr3]]Ahora tengo que encontrar los duplicados en estas matrices ([arr1], [arr2], [arr3]) y almacenar los valores duplicados en otra matriz.
Arr2 = [ Duplicate values of arr 1,2,,3 ]¿Cómo hacerlo en JavaScript?
Esta es una de las muchas otras soluciones que puede hacer
const a = [ [1,1,2,1,3], [2,1,4,4,5], [3,1,4,5,1] ]; // flat the two dimensions array to one dimension array const transformedArray = a.flat(); const unifiedArray = []; const countDuplicates = []; // create a new array containing unique values // you can use the Set(..) object for this too transformedArray.forEach(elem => { if(!unifiedArray.includes(elem)) { unifiedArray.push(elem); } }); // start counting unifiedArray.forEach(elem => { const countElem = transformedArray.filter(el => el === elem).length; countDuplicates.push({ element: elem, count: countElem }); }); // test values console.log(transformedArray); console.log(countDuplicates);Al principio, pensé en concatenar las matrices en 1 grande, pero asumo que desea los duplicados que aparecen en todas las matrices, así que:
var arr1 = [1, 2, 3, 4] var arr2 = [1, 2, 4, 8] var arr3 = [2, 4, 6, 8] var duplicates = []; arr1.forEach(function(item) { // you could change the && to || if you want if ((arr2.indexOf(item) > -1) && (arr3.indexOf(item) > -1)) { duplicates.push(item) } }) console.log("" + duplicates)esta es una solución simple de su pregunta
const arr1 = [2, 3, 4, 5, 6, 7, 8]; const arr2 = [1, 2, 3, 9]; const arr3 = [11, 2, 3, 12, 13]; const duplicates = arr1.filter((i) => arr2.includes(i) && arr3.includes(i)); console.log(duplicates);