gpt4 book ai didi

javascript - 在父数组元素上使用 if/else 在 javascript 中进行迭代

转载 作者:行者123 更新时间:2023-12-01 01:47:09 25 4
gpt4 key购买 nike

为了相关性,我发布了完整的脚本。

我目前正在迭代 JSON 对象的数组,并根据内容的 ID 将内容应用到 html div。这工作正常,但我的问题在于基于父数组的逻辑,以隐藏所有不必要的 DIV。该数组如下所示:

enter image description here

我的数组有一个带有 pageID 和 pageType 的父元素,并包含一个包含实际内容的“Content”数组。我正在迭代内容来应用它,但我希望能够在每次迭代时说“如果父 pageType 是 n,则隐藏 x div”,就像代码片段的这一部分一样:

if(currentJSONobject.page_type_id == 1){            
//Some stuff
}else if(currentJSONobject.page_type_id == 2){
//Some stuff
}

所以我的内容填充正确并且迭代适当,但是如何根据每次迭代的父 pageType 设置适当的 div 来隐藏?

const obj = [{
"pageID": "93",
"page_type_id": "2",
"display_id": "2",
"slide_order": null,
"duration": "74",
"background_img": "images\/bg_rainbow.svg",
"panel_id": "86",
"panel_type_id": "2",
"cont_id": "138",
"contID": "138",
"content": "\r\n\r\n\r\n<\/head>\r\n\r\nLeft 93<\/p>\r\n<\/body>\r\n<\/html>"
},
{
"pageID": "93",
"page_type_id": "2",
"display_id": "2",
"slide_order": null,
"duration": "74",
"background_img": "images\/bg_rainbow.svg",
"panel_id": "87",
"panel_type_id": "3",
"cont_id": "139",
"contID": "139",
"content": "\r\n\r\n\r\n<\/head>\r\n\r\nRight 93<\/p>\r\n<\/body>\r\n<\/html>"
}
];

let counter = 0;

const pages_array = obj.reduce(function(pages_array, item, index, obj) {
const current_pageID = item.pageID;
const current_pageType = item.page_type_id;
const exisiting_page = pages_array.find(page => page.pageID === current_pageID);

if (exisiting_page === undefined) {
const new_Page = {
pageID: current_pageID,
pageType: current_pageType,
content: [item]
}
pages_array.push(new_Page);
} else {
exisiting_page.content.push(item)
}

return pages_array;
}, []);

setInterval(()=>{
const currentJSONobject = pages_array[counter];

for(var i = 0; i < currentJSONobject.content.length; i++){

if(currentJSONobject.page_type_id == 1){
//Some stuff
}else if(currentJSONobject.page_type_id == 2){
//Some stuff
}else if(currentJSONobject.page_type_id == 3){
//Some stuff
}else if(currentJSONobject.page_type_id == 4){
//Some stuff
}
}

console.log(pages_array[counter])

counter += 1;
if (counter === pages_array.length){
counter = 0;
}
}, 3500)

console.log(obj);
console.log(pages_array);

最佳答案

这是正确的评价:

if(parseInt(pages_array[counter].pageType) == 1){
console.log("Paren pageType => ", pages_array[counter].pageType);
}

您的问题是您在currentJSONobject中查找属性page_type_id,而不是在pages_array[counter]中查找父对象>

关于javascript - 在父数组元素上使用 if/else 在 javascript 中进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51864622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com