Tengo un conjunto de datos de varias matrices y objetos que es irrelevante para presentar aquí. La siguiente función spr usa los datos para devolver una matriz multidimensional definida como arry con la longitud de seis:
function spr() { let ctgnum = 1; let selectionOfCtg = []; // debugger; for (let i = 0; i < ctg_assoc[ctgnum].length; i++) { value = ctg_assoc[ctgnum][i][ Math.floor(Math.random() * Object.values(ctg_assoc[ctgnum][i]).length) ]; selectionOfCtg.push(value); } console.log(selectionOfCtg); let arr = []; let arry = []; for (let e of selectionOfCtg) { len = Object.keys(ctg_ptr[e]).length; for (let f = 0; f < len; f++) { arr.push(Object.keys(ctg_ptr[e][f])); } arry.push(arr.flat()); arr = []; } return arry; } arry = spr(); console.log(arry); Cuando la función se ejecuta sola, console.log(arry); devuelve seis matrices como se esperaba y se requiere. Sin embargo, cuando se agrega el siguiente fragmento de código después de la función para encontrar valores comunes dentro de las seis matrices, la primera matriz se omite y, por lo tanto, solo devuelve cinco matrices:
let result = arry.shift().filter(function (v) { return arry.every(function (a) { return a.indexOf(v) !== -1; }); });¿Alguna idea de lo que podría estar causando?