Si desea encontrar un objeto específico a través de la función de búsqueda, intente algo como esto:
function findArray(value){
let countLayer = dataLayer.length;
for(var x = 0 ; x < countLayer ; x++){
if(dataLayer[x].user){
let newArr = dataLayer[x].user;
let data = newArr[value];
return data;
}
}
return null;
}
findArray("id");
Este es un objeto de ejemplo:
layerObj = {
0: { gtm.start :1232542, event: "gtm.js"},
1: { event: "gtm.dom", gtm.uniqueEventId: 52},
2: { visitor id: "abcdef2345"},
3: { user: { id: "29857239", verified: "Null", user_profile: "Personal", billing_subscription: "True", partners_user: "adobe"}
}
El código iterará y encontrará la matriz "usuario" y buscará el objeto que busca en su interior.
Mi problema fue cuando el índice de la matriz cambiaba cada actualización de la ventana y estaba en la tercera o segunda matriz, pero no importa.
¡Funcionó como un encanto para mí!
En tu ejemplo es un poco más corto:
function findArray(value){
let countLayer = Object.length;
for(var x = 0 ; x < countLayer ; x++){
if(Object[x].dinner === value){
return Object[x];
}
}
return null;
}
findArray('sushi');