Javascript 循环浏览对象中的段落。怎么用?

Javascript 循环浏览对象中的段落。怎么用?,javascript,jquery,html,object,Javascript,Jquery,Html,Object,下面的javascript对象包含2个段落。我很难弄清楚如何动态地输出它们。也许是一个循环?但是段落是具有自己子属性的子对象。我需要以一行的形式访问它们,并将它们附加到modal section body容器中 请随时提出重新设计对象的建议 //示例模态对象 var modalDefaults={ //深度0 莫达利德:“莫达利6”, //深度0 modalHeader:{ 图标:“headerIcon”, iconColor:“headerIconColor”, 主要标题:“头饰”, 副标题

下面的javascript对象包含2个段落。我很难弄清楚如何动态地输出它们。也许是一个循环?但是段落是具有自己子属性的子对象。我需要以一行的形式访问它们,并将它们附加到
modal section body
容器中

请随时提出重新设计对象的建议

//示例模态对象
var modalDefaults={
//深度0
莫达利德:“莫达利6”,
//深度0
modalHeader:{
图标:“headerIcon”,
iconColor:“headerIconColor”,
主要标题:“头饰”,
副标题:“校长副标题”
},
//深度0
模态体:{
标题:“bodyTitle”,
abrv:‘bodyAbrv’,
副标题:“bodySubTitle”,
//深度1
第1段:{
//深度2
标题:“第1段标题”,
正文:“Lorem ipsum dolor sit amet 1。”
},
//深度1
第2段:{
//深度2
标题:“第2段标题”,
正文:“Lorem ipsum dolor sit amet 2。”
}
},
//深度0
莫达沃特:{
//深度1
linkOk:{
//深度2
颜色:“linkOkColor”,
图标:“linkOkIcon”,
标签:“linkOkLabel”,
href:'./'
},
//深度1
链接取消:{
//深度2
颜色:'linkCancelColor',
图标:“链接取消图标”,
标签:“链接取消标签”,
href:'./'
}
}
};
console.log(modalDefaults.modalId);
log(modalDefaults.modalHeader.icon);
log(modalDefaults.modalHeader.iconColor);
log(modalDefaults.modalHeader.maintTitle);
log(modalDefaults.modalHeader.subTitle);
log(modalDefaults.modalBody.title);
console.log(modalDefaults.modalBody.abrv);
log(modalDefaults.modalBody.subTitle);
日志(modalDefaults.modalBody.paragraph1.title);
日志(modalDefaults.modalBody.paragraph1.body);
日志(modalDefaults.modalBody.paragraph2.title);
日志(modalDefaults.modalBody.paragraph2.body);
log(modalDefaults.modalFooter.linkOk.color);
log(modalDefaults.modalFooter.linkOk.icon);
log(modalDefaults.modalFooter.linkOk.label);
log(modalDefaults.modalFooter.linkCancel.color);
log(modalDefaults.modalFooter.linkCancel.icon);

log(modalDefaults.modalFooter.linkCancel.label)您可以按如下方式执行:

let modalBody = modalDefaults.modalBody;
for (let [key, value] of Object.entries(modalBody)) {
    if (/paragraph(\d)/.test(key)) {
        $('.row').append($(document.createElement('h1')).text(value.title));
        $('.row').append($(document.createElement('p')).text(value.body));
    }
}

您可以按如下方式操作:

let modalBody = modalDefaults.modalBody;
for (let [key, value] of Object.entries(modalBody)) {
    if (/paragraph(\d)/.test(key)) {
        $('.row').append($(document.createElement('h1')).text(value.title));
        $('.row').append($(document.createElement('p')).text(value.body));
    }
}

伙计,我不知道你说的如何访问它们是什么意思。因为你已经在
控制台.log
语句中清楚地访问了它们。我打赌没有人会帮你重新设计对象形状,因为我们不知道上下文。你的意思是段落是动态的,并且数量不同吗?如果数量不同,我会将modalBody中的“段落”属性设置为一个数组(对象数组)并将其作为数组而不是对象进行操作/访问。上下文是动态引导模式窗口的内容。伙计,我不确定你说的如何访问它们是什么意思。因为你已经在
控制台.log
语句中清楚地访问了它们。我打赌没有人会帮助你重新设计对象形状,因为我们不知道上下文。你的意思是段落是动态的,并且数量不同吗?如果数量不同,我会将modalBody中的“段落”属性设置为一个数组(对象数组)并将其作为数组而不是对象进行操作/访问。上下文是动态引导模式窗口的内容。这样做可以做到,但请记住,附加元素的顺序与对象中提供的顺序不同。请随时提出您的数组想法。我觉得这很有趣,特别是因为我需要按顺序输出段落。@ASPiRE,正如您在中看到的,如果您有两个段落,第一个段落是
第333段
,第二个段落是
第12段
,但使用
对象。条目
,它们的顺序是正确的。只是,若段落有整数id,那个么订单就并没有被授权人。因此,我的代码适用于前缀为
段落
的情况。@JanCiołek感谢您的注意。只是,如果段落有这样的整数id,则没有订单的授权人,但当我们有
段落
前缀时,它可以正常工作。您可以在我以前的命令中看到我的示例。@ASPiRE在modalBody中创建属性
段落
,这是一个段落数组。
{modalBody:{段落:[{title:1,body:1},{title:2,body:2}}
并使用@Ali Soltani为您提供的类似逻辑。这样可以做到,但请记住,附加元素的顺序与对象中提供的顺序不同。请随时提出您的数组想法。我觉得这很有趣,特别是因为我需要按顺序输出段落。@ASPiRE,正如您在中看到的,如果您有两个段落,第一个段落是
第333段
,第二个段落是
第12段
,但使用
对象。条目
,它们的顺序是正确的。只是,若段落有整数id,那个么订单就并没有被授权人。因此,我的代码适用于前缀为
段落
的情况。@JanCiołek感谢您的注意。只是