Если вы хотите найти конкретный объект с помощью функции поиска, просто попробуйте что-то вроде этого:
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");
Это пример объекта:
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"}
}
Код выполнит итерацию и найдет «пользовательский» массив и будет искать объект, который вы ищете внутри.
Моя проблема заключалась в том, что индекс массива менялся при каждом обновлении окна, и он был либо в третьем, либо во втором массиве, но это не имеет значения.
Работал как шарм для Меня!
В вашем примере это немного короче:
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');