หากคุณต้องการค้นหาวัตถุเฉพาะผ่านฟังก์ชันการค้นหาให้ลองทำสิ่งนี้:
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"}
}
โค้ดจะวนซ้ำและค้นหาอาร์เรย์ "ผู้ใช้" และจะค้นหาวัตถุที่คุณต้องการภายใน
ปัญหาของฉันคือเมื่อดัชนีอาร์เรย์เปลี่ยนทุกการรีเฟรชหน้าต่างและอยู่ในอาร์เรย์ที่ 3 หรือที่สอง แต่ก็ไม่สำคัญ
ทำงานอย่างมีเสน่ห์สำหรับฉัน!
ในตัวอย่างของคุณสั้นกว่าเล็กน้อย:
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');