在JavaScript控制台中,log为我提供for循环中的每个值。但是,var.text仅显示最后一个值。为什么会这样?

在JavaScript控制台中,log为我提供for循环中的每个值。但是,var.text仅显示最后一个值。为什么会这样?,javascript,jquery,arrays,api,Javascript,Jquery,Arrays,Api,因此,我使用Music Graph API访问和显示与当前艺术家类似的艺术家(在本例中为“Who”)。然而,当我使用for循环遍历结果时,.text(ArtistName)仅打印数组中的姓氏(在本例中,它仅打印Pink Floyd,即使数组中包含更多艺术家)。然而,console.log打印阵列中的每个名称。如何获取.text以打印数组中的每个名称 这是我的密码: JavaScript for (i = 0; i < response.data.length; i++) { va

因此,我使用Music Graph API访问和显示与当前艺术家类似的艺术家(在本例中为“Who”)。然而,当我使用for循环遍历结果时,.text(ArtistName)仅打印数组中的姓氏(在本例中,它仅打印Pink Floyd,即使数组中包含更多艺术家)。然而,console.log打印阵列中的每个名称。如何获取.text以打印数组中的每个名称

这是我的密码:

JavaScript

for (i = 0; i < response.data.length; i++) {

    var artistNames = response.data[i].name;

    $('#relatedArtists').text(artistNames);

    console.log(artistNames);
}
for(i=0;i
HTML

<div id="relatedArtists">

</div>

您需要使用将清除以前的数据

for (i = 0; i < response.data.length; i++) {    
    var artistNames = response.data[i].name;    
    $('#relatedArtists').append(artistNames);    
    console.log(artistNames);    
}

因为在每次迭代中,您都会覆盖
div
的上一个值

相反,您可以创建一个包含所有名称的数组,然后通过连接以下值将其设置为
div
的文本

var响应={
数据:[{
名称:“n1”
}, {
名称:“n2”
}, {
名称:“n3”
}]
}
$(“#relatedArtists”).text(response.data.map(函数(项){
返回item.name
}).join())


@PaulFrank如果答案对您有效,通常会单击答案左侧的灰色复选标记将其标记为已接受。谢谢哦,对不起,这一切还是新鲜事。无论如何,非常感谢。
for (i = 0; i < response.data.length; i++) {    
    var artistNames = response.data[i].name;    
    $('#relatedArtists').text(function(i,text){ return text + artistNames; });    
    console.log(artistNames);    
}