从数组中删除逗号

时间:2012-10-26 06:40:08

标签: javascript arrays

我有这段代码:

var comment_count = instadata[0].data[i].comments.count
var comment_data = instadata[0].data[i].comments.data
var comments = [];

    $.each(comment_data, function(i, user) {
       comments.push('<li><img class="commentUserImg" src="' + user.from.profile_picture + '"><div class="commentUser">' + user.from.username + '</div><div class="commentText">' + user.text + '</div></li>');
    });

显示评论。它是一个附加的,直接位于AJAX内的$ .each()下面

<ul class="messageComments">' + comments + '</ul>

显示时,每个LI元素之间都有逗号。

我怎样摆脱这个?除逗号外,一切正常。

由于

更新了代码。这也是通过AJAX

完成的

2 个答案:

答案 0 :(得分:1)

您可以使用胶带修复它:

<ul class="messageComments">' + comments.join('') + '</ul>

或者第一次做得对(好吧,只是我的方式):

var comment_count = instadata[0].data[i].comments.count
var comment_data = instadata[0].data[i].comments.data
var $comments = $('<ul />', {'class': 'messageComments'});

$.each(comment_data, function(i, user) {
    var $li = $('<li />');

    $('<img />', {
        'class': 'commentUserImg',
        'src': user.from.profile_picture
    }).appendTo($li);

    $('<div />', {
        'class': 'commentUser',
        'text': user.from.username
    }).appendTo($li);

    $('<div />', {
        'class': 'commentText',
        'text': user.text
    }).appendTo($li);

    $li.appendTo($comments);
});

$comments.appendTo('body');  // Tweak this selector

答案 1 :(得分:0)

您需要使用空字符串调用join,否​​则将默认使用','。如果你甚至没有调用join,你将自动使用toString(),结果将与join()相同;

<ul class="messageComments">' + comments.join('') + '</ul>

试验:

var a = [1,2,3,4];
console.log(a.toString()); //1,2,3,4
console.log("string: "+a); //string: 1,2,3,4
console.log(a.join());     //1,2,3,4
console.log(a.join(''));   //1234