脚本标签中的ejs变量/设置数组变量变为字符串
Ejs variables in script tag/ setting array to variable become string
所以我需要将变量传递给 ejs 文件中的脚本标记。它是问题数组(我无缘无故地在 var 名称中称它为对象),我需要在脚本标记中使用它。我看到它是由 '<%-varname%>'
完成的。
但问题是,我想在使用它的同时从数组中删除一些东西,所以我需要这个数组的副本。问题是:
console.log('<%-passedUser.questionsObject%>')
console.log('<%-passedUser.questionsObject[0]%>')
arrayToUse = '<%-passedUser.questionsObject%>'
console.log(arrayToUse)
console.log(arrayToUse[0])
输出:
question1,answer1,answer2,answer3,answer4,answer5,q2,answer1,answer2
question1,answer1,answer2,answer3,answer4,answer5
question1,answer1,answer2,answer3,answer4,answer5,q2,answer1,answer2
q
我试过JSON.stringify
,解析,没有任何效果。如果有任何帮助,我将不胜感激。
注意:我不知道为什么 '<%-passedUser.questionsObject%>'
没有以正确的方式记录,但它给出了正确的值。它的真实形式是:
[[question1,answer1,answer2,answer3,answer4,answer5],[q2,answer1,answer2]]
你必须同时使用 json parse 和 json stringify
arrayToUse = JSON.parse('<%- JSON.stringify(passedUser.questionsObject)%>')
稍后您可以使用
轻松拆分数组
const [questions,answers] = arrayToUse
或者在发送给客户之前做
<% const [questions,answers] = passedUser.questionsObject %>
<script>
const arrayToUse = JSON.parse('<%- JSON.stringify(questions)%>')
</script>
所以我需要将变量传递给 ejs 文件中的脚本标记。它是问题数组(我无缘无故地在 var 名称中称它为对象),我需要在脚本标记中使用它。我看到它是由 '<%-varname%>'
完成的。
但问题是,我想在使用它的同时从数组中删除一些东西,所以我需要这个数组的副本。问题是:
console.log('<%-passedUser.questionsObject%>')
console.log('<%-passedUser.questionsObject[0]%>')
arrayToUse = '<%-passedUser.questionsObject%>'
console.log(arrayToUse)
console.log(arrayToUse[0])
输出:
question1,answer1,answer2,answer3,answer4,answer5,q2,answer1,answer2
question1,answer1,answer2,answer3,answer4,answer5
question1,answer1,answer2,answer3,answer4,answer5,q2,answer1,answer2
q
我试过JSON.stringify
,解析,没有任何效果。如果有任何帮助,我将不胜感激。
注意:我不知道为什么 '<%-passedUser.questionsObject%>'
没有以正确的方式记录,但它给出了正确的值。它的真实形式是:
[[question1,answer1,answer2,answer3,answer4,answer5],[q2,answer1,answer2]]
你必须同时使用 json parse 和 json stringify
arrayToUse = JSON.parse('<%- JSON.stringify(passedUser.questionsObject)%>')
稍后您可以使用
轻松拆分数组const [questions,answers] = arrayToUse
或者在发送给客户之前做
<% const [questions,answers] = passedUser.questionsObject %>
<script>
const arrayToUse = JSON.parse('<%- JSON.stringify(questions)%>')
</script>