使用 SNS 消息在 Java 脚本中循环

For Loop in Java Script with SNS Message

我是 Java 脚本的新手,需要帮助解决以下代码片段的问题。在这里,我使用 IF 语句来检查传入的 SNS 消息。如果正确,我会显示消息中的值。

  else if (obj.intent === "list" && obj.message === 'success'){

            var innerHTMLval = '<table class="test"><tr><td class="test-loc"><img src="favicon.png" width="10%"></td><td class="test-loc"> View</td></tr>'
                + ' <tr><td class="forecast">'+ obj.artikel0+ '</td><td class="forecast">' + obj.stueckzahl0 + '</td> </tr>'
                + ' <tr><td class="forecast">'+ obj.artikel1+ '</td><td class="forecast">' + obj.stueckzahl1 + '</td> </tr>'
                + ' <tr><td class="forecast">'+ obj.artikel2+ '</td><td class="forecast">' + obj.stueckzahl2 + '</td> </tr>'
                + '</table>'            
                document.getElementById('display').innerHTML = innerHTMLval;            
 }

一切正常,但现在我想知道是否可以使用 for 循环为每个数字添加一行。

我的负载是这样的:

{
    "intent": "list",
    "message": "success",
    "artikel0": "A",
    "stueckzahl0": 10,
    "artikel1": "B",
    "stueckzahl1": 10,
    "artikel2": "A",
    "stueckzahl2": 10,
    "artikel3": "C",
    "stueckzahl3": 10,

}

是否可以根据负载中的行数添加带有 Foor 循环的行?

非常感谢

创建一个主体变量并像这样附加到它

var body = "";
 for(key in obj){
   if((key.indexOf("artike") != -1) || (key.indexOf("stueckzah") != -1)){
     var end = (key.indexOf("stueckzah") != -1) ? '</td></tr>' :  '</td> ';
     var start =  (key.indexOf("stueckzah") != -1) ? ' <td class="forecast">' :  ' <tr><td class="forecast">';
     body+= start+obj[key] +  end;
   }
 }
var innerHTMLval = '<table class="test"><tr><td class="test-loc"><img src="favicon.png" width="10%"></td><td class="test-loc"> View</td></tr>'  
+ body +'</table>'
var obj = {
    "intent": "list",
    "message": "success",
    "artikel0": "A",
    "stueckzahl0": 10,
    "materiall0": "mat10",
    "artikel1": "B",
    "stueckzahl1": 11,
    "material1": "mat11",
    "artikel2": "A",
    "stueckzahl2": 10,
    "materiall2": "mat10",
    "artikel3": "C",
    "stueckzahl3": 10,
    "materiall3": "mat10",

}

var body = "";
 for(key in obj){
   if((key.indexOf("artike") != -1) || (key.indexOf("stueckzah") != -1) || (key.indexOf("material") != -1)){
     var isStart = (key.indexOf("artike") != -1);
     var isEnd = (key.indexOf("material") != -1);

     var end = (isEnd) ? '</td></tr>\r\n' :  '</td>';
     var start =  (isStart) ? '<tr><td class="forecast">' :  ' <td class="forecast">';
     body+= start+obj[key] +  end;
   }
 }
var innerHTMLval = '<table class="test"><tr><td class="test-loc"><img src="favicon.png" width="10%"></td><td class="test-loc"> View</td></tr>'  
+ body +'</table>'

正文输出

/*

<tr><td class="forecast">A</td> <td class="forecast">10</td> <td class="forecast">mat10</td></tr>
<tr><td class="forecast">B</td> <td class="forecast">11</td> <td class="forecast">mat11</td></tr>
<tr><td class="forecast">A</td> <td class="forecast">10</td> <td class="forecast">mat10</td></tr>
<tr><td class="forecast">C</td> <td class="forecast">10</td> <td class="forecast">mat10</td></tr>

*/