Я работаю над базой кода, где досадный объект, через который я прохожу, немного грязный ....
По сути, в моем объекте ... Я намереваюсь найти просмотров страниц узла, но только если он содержит массив данных ...
Вот пример данных:
data = [
{
event: "click",
dimension: 123,
cart: {
pageviews:[]
}
},
{
event: "scroll",
dimension: 456,
cart: {
pageviews:[]
}
},
{
event: "onload",
dimension: 789,
},
{
event: "click",
dimension: 'xyz',
cart: {
pageviews:[
{data: 1},
{data: 2},
{data: 3},
]
}
}
];
Как вы Как видите, объект содержит ссылки на "просмотры страниц" три раза.
В моем коде ниже я хочу скрыть элемент DOM, если pageviews
содержит массив данных.
Однако мой элемент DOM не скрывается. Поэтому я не думаю, что он достаточно умен.
Каков наилучший способ получить доступ к "просмотрам страниц или выполнить команду, только если объект содержит просмотров страниц с данными?
let searchURL = new URLSearchParams(location.search);
if (searchURL.has("a" && "b" && "c"))
// Loop through data obj to find which object
for (let index = 0; index < data.length; index++) {
const dataNode = data[index];
// Check if loop contains node contains "cart"
if (dataNode.hasOwnProperty("cart")) {
// Check if "pageview" node exists
if (dataNode.cart.hasOwnProperty("pageview")) {
let resultsResponse = dataNode.cart.pageview;
if (resultsResponse.length >= 1) {
// THEN HIDE DOM ELEMENT
const bigBlockContainer = document.querySelector('.big-container');
bigBlockContainer.remove();
}
}
}
}
}