在我的Express路径中,我从MySQL数据库中抓取了一大堆条目。这些条目是单词,并且具有关联的行号,因此在换行之前,需要将同一行上的所有单词打印在一起。
word | section
----------------
Lorem | 1
ipsum | 1
dolor | 1
sit | 2
amet | 2使用doT.js作为我的模板引擎,我需要将其打印为
Lorem ipsum dolor
sit amet我循环遍历MySQL结果数组并打印出单词。但是我不知道如何比较当前索引和前一个索引的行号。我的第一个倾向是为当前行存储一个变量,并将其与前一行进行比较。如果它们不同,那么我可以打印一个<br>。但我想不出该怎么做。
我是否必须使用帮助器方法(如果需要,是否有人可以链接一个好的教程)?或者,有没有更简单的方法来实现这一点?
发布于 2016-08-05 03:57:45
假设你有这个数组:
var arr = [ { "word":"lorem", "section": "1"}, { "word":"ipsum", "section": "1"}, { "word":"dolor", "section": "1"}, { "word":"sit", "section": "2"}, { "word":"amet", "section": "2"} ]您可以在此函数中尝试:
function printWordsOnLines(arr) {
var currentLine = 1;
var output = "";
arr.forEach(function(line) {
if(currentLine<line.section) {
currentLine=parseInt(line.section);
output+="<br>";
}
output+=line.word + " ";
})
return output;
}它将会有这个输出:
"lorem ipsum dolor <br>sit amet "您可以根据自己的实际需要进一步调整此设置。
https://stackoverflow.com/questions/38659967
复制相似问题