<script >
document.write("<table border=2 width=50%");
for (var i = 0; i < ${SALE_DATA.SALE_ORDER_ITEMS_LIST.length}; i++) {
document.write("<tr>");
document.write("<td>" + ${SALE_DATA.SALE_ORDER_ITEMS_LIST[i].WEIGHT} + "</td>");
document.write("<td>" + i + "</td>");
document.write("</tr>");
}
document.write("</table>");
</script>
我想在${SALE_DATA.SALE_ORDER_ITEMS_LIST[i].WEIGHT}
中传递i
这里SALE_DATA是角度为5的常量数组。
但是它给出了如下错误
错误ReferenceError:我没有定义。 建议我在循环中传递i值的方法
如果我保留${SALE_DATA.SALE_ORDER_ITEMS_LIST[0].WEIGHT}
输出如下
提前感谢!! out put
答案 0 :(得分:1)
你可以使用模板文字(``)来创建一个包含动态变量的字符串。
for (var i = 0; i < `${SALE_DATA.SALE_ORDER_ITEMS_LIST.length}`; i++) {
console.log(i)
}
上面的代码可以正常工作,但不建议以这种方式使用模板文字。
模板文字是允许嵌入表达式的字符串文字。 您可以使用多行字符串和字符串插值功能 他们。在之前的版本中,它们被称为“模板字符串” ES2015规范。
答案 1 :(得分:-2)
您可以使用内部迭代器,例如使用forEach循环。这将使您无法处理循环的工作方式。
这样的事情可以胜任。
${SALE_DATA.SALE_ORDER_ITEMS_LIST}.forEach(function(curVal,i){
document.write("<tr>");
document.write("<td>" + curVal.WEIGHT + "</td>");
document.write("<td>" + i + "</td>");
document.write("</tr>");
})