如何将循环变量的java脚本传递给$ {}?

时间:2018-03-22 09:50:37

标签: javascript jquery html

<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

2 个答案:

答案 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>");
 })