gpt4 book ai didi

javascript - 如何使此函数应用于以下 JsonML 中的每个匹配元素?

转载 作者:行者123 更新时间:2023-12-03 10:41:36 25 4
gpt4 key购买 nike

我通过 markdown-js 生成了以下 JsonML :

[ 'markdown',
[ 'para', 'This is a paragraph.' ],
[ 'para', 'Another paragraph' ] ]

我想做的是将类 noind 添加到每个段落标记。完整代码:

var text = "This is a paragraph.\n\n" +
"Another paragraph"

// parse the markdown into a tree and grab the link references
var tree = md.parse(text)
var refs = tree[1]

//console.log(refs)

;(function update_paras(jsonml) {

if (jsonml[1][0] === 'para') {
var par = jsonml[1]
par.splice(1,0,{'class': 'noind'})
}

})(tree)

var html = md.renderJsonML(md.toHTMLTree(tree))
console.log(html)

现在该类仅添加到第一段:

<p class="noind">This is a paragraph.</p>

<p>Another paragraph</p>

我怎样才能将类添加到所有类中?

编辑:

Gitub 上的示例中他们做了这样的事情(使用 link_refs):

if (jsonml[0] === "link_ref") {
// some code
} else if (Array.isArray(jsonml[1])) {
jsonml[1].forEach(find_link_refs)
} else if (Array.isArray(jsonml[2])) {
jsonml[2].forEach(find_link_refs)
}

不过我不太明白代码。当我尝试相同的方法时,它不起作用(仍然只有第一段得到了类(class))。

最佳答案

不是专家,但这看起来作为答案的格式比作为评论的格式更好。

您是否尝试过创建一个循环来遍历 jsonml 数组中的所有元素(现在它只读取第一个元素)?像这样的事情:

;(function update_paras(jsonml) {

for (x = 1; x < jsonml.length; x++) {
if (jsonml[x][0] === 'para') {
var par = jsonml[x]
par.splice(1,0,{'class': 'noind'})
}
}

})(tree)

关于javascript - 如何使此函数应用于以下 JsonML 中的每个匹配元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28756740/

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