replace()没有处理变量我已经创建了代表我从循环中的JSON对象派生的一堆名称。
我理解字符串在JS中是不可变的。我相信我已经排除了这一点。
for (object in Object.keys(json)) {
console.log(json[object]["senderProfile"]["name"])
var name_ = String(json[object]["senderProfile"]["name"])
var name = name_.replace(',', '')
names.push(name+"<br>")
}
document.getElementById("json_out").innerHTML = names;
呈现的HTML在每个名称之间都有逗号。不知道该怎么做。
答案 0 :(得分:2)
names
是一个数组。您隐式将数组转换为字符串。默认情况下,数组成员用逗号分隔。简单的例子:
console.log('' + [1,2,3])
&#13;
您可以通过调用.join
console.log('' + [1,2,3].join(''))
&#13;
可以简化您的代码,但不能不知道json
或json[object]["senderProfile"]["name"]
的价值。但是,您可以将其用作元素分隔符,而不是将<br>
附加到名称:
var names = Object.keys(json)
.map(key => json[key]["senderProfile"]["name"]);
document.getElementById("json_out").innerHTML = names.join('<br>');