Se vuoi trovare un oggetto specifico tramite la funzione di ricerca, prova qualcosa del genere:
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");
Questo è un oggetto di esempio:
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"}
}
Il codice itererà e troverà l'array "utente" e cercherà l'oggetto che cerchi all'interno.
Il mio problema era quando l'indice dell'array cambiava ogni aggiornamento della finestra ed era nel terzo o nel secondo array, ma non importa.
Ha funzionato benissimo per me!
Nel tuo esempio è un po 'più breve:
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');