在垂直列表中显示JavaScript数组

时间:2016-09-29 15:19:04

标签: javascript html arrays

我有一个我已经生成的数组,我希望将它作为垂直列表显示在html中,最好是作为每个单独的元素。

我做到了:

var a = _.intersection(viewedUserLikedUsersArray, loggedInLikedUsersArray);
  for (var i=0; i < a.length; i++){
    displayListOfMatches.innerHTML = a[i];
  }

但很明显,这种方式会将innerHTML替换为数组中的最后一个元素,而不是将每个元素堆叠在彼此的顶部

1 个答案:

答案 0 :(得分:1)

你可能会让人们这样说:

displayListOfMatches.innerHTML = "<p>" + a.join("</p><p>") + "</p>";

...工作 请注意,数组条目的内容将被解析为 HTML

如果不行,您可以通过map替换这些字符来构建HTML字符串:

displayListOfMatches.innerHTML = a.map(function(entry) {
    return "<p>" + entry.replace(/&/g, "&amp;").replace(/</g, "&lt;") + "</p>";
}).join("");

...或者随时随地构建元素,可能使用forEach

displayListOfMatches.innerHTML = ""; // You can leave this out if it's empty
a.forEach(function(entry) {
    var p = document.createElement("p");
    p.appendChild(document.createTextNode(entry));
    displayListOfMatches.appendChild(p);
});

当然,在所有情况下,您都可以调整它以使用不同的元素/标记。