我打印出HTML列表中数组中的项目:
"use strict";
var giftArray = ["kettle", "iron", "bed", "tv", "lamp"];
var gifts = function() {
var values= [];
for (var i = 0; i < giftArray.length; i++) {
values.push("<li>" + giftArray[i] + "</li>");
}
document.write("<ul>" + values + "</ul>");
}
gifts();
它的工作除了它在每个结果后包含一个逗号。为什么会这样,我怎么能阻止它呢?
答案 0 :(得分:1)
将join()与空字符串一起用作分隔符
document.write("<ul>" + values.join('') + "</ul>");
将数组写入dom时的默认设置是使用包含逗号分隔符的Array.prototype.toString()
将其转换为字符串
答案 1 :(得分:0)
如果使用字符串连接数组,则会得到默认数组.toString()
表示形式,这是用逗号连接的所有元素。
使用the .join()
method使用您选择的分隔符连接数组的所有元素,例如,使用空字符串:
var giftArray = ["kettle", "iron", "bed", "tv", "lamp"];
var gifts = function() {
var values= [];
for (var i = 0; i < giftArray.length; i++) {
values.push("<li>" + giftArray[i] + "</li>");
}
document.write("<ul>" + values.join("") + "</ul>");
}
gifts();
或者您可以使用.join()
代替循环,将原始giftArray
与适当的HTML标记结合使用:
var giftArray = ["kettle", "iron", "bed", "tv", "lamp"];
var gifts = function() {
document.write("<ul><li>" + giftArray.join("</li><li>") + "</li></ul>");
}
gifts();