如何以类似以下形式解析js数组:
const arr = [
"&&",
[
"==",
"first",
"1-1"
],
[
"&&",
[
"==",
"second1",
"2-1"
],
[
"==",
"second2",
"2-2"
]
]
]
表单中的超文本标记语言无序(Ul)列表:
<ul>
<li>&&
<ul>
<li>first == 1-1</li>
<li>&&
<ul>
<li>second1 == 2-1</li>
<li>second2 == 2-2</li>
</ul>
</li>
</ul>
</li>
</ul>
ARR总是以[运算符,条件/子函数]的形式出现. 正如你可以猜测,我需要一个用户界面来编辑ARR内容.ARR表示JSON字符串中"where"筛选器定义的形式.因此,当用户更改列表(添加或删除无序列表中的 node )时,我需要将更改解析回数组,但首先要做的是. 也许有一些图书馆,但我找不到它.
我try 了这样的递归:
function arrayToHTML(arr, container) {
if (!Array.isArray(arr) || arr.length === 0) return
const operator = arr[0]
const conditions = arr.slice(1)
if (operator === '&&') {
this.arrayToHTML(conditions, container)
}
}