0

配列にデータを挿入していますが、

,9,My firstname,My lastname,myemail@example.com,123456789

私のコンソールに出て。最初の要素、つまり9からコンマを削除するにはどうすればよいですか?これが私のコードです

var data = new Array();

                $(row_el.children("td")).each(function(i) {
                    var td = $(this);
                    //var data = td.html();
                    var td_el = td.attr('class');
                    //arr[i] = data;

                    if(!td.hasClass("element")) {
                        data[i] = td.html();        
                        console.log(i + ": " + data);
                    }

                });

このような出力が欲しい

9,My firstname,My lastname,myemail@example.com,123456789

次に、この配列を関数に渡し、この配列をループします。

4

1 に答える 1

3

アレイ内の特定の位置に設定する代わりに、push()MDN docu )を使用するだけです。

var data = new Array();

$(row_el.children("td")).each(function(i) {
    var td = $(this);
    //var data = td.html();
    var td_el = td.attr('class');
    //arr[i] = data;

    if(!td.hasClass("element")) {
        data.push( td.html() );        
        console.log(i + ": " + data);
    }

});

問題は、によって処理される配列内のすべての要素が配列each()内のエントリになるわけではないということです。ただし、コールバック(i)に送信されたインデックスは、それでもカウントアップします。したがって、配列へのエントリをもたらさない要素がある場合、これらの位置はundefined(後で要素を入力する限り)埋められます。これらのundefinedエントリは、出力時に空の文字列になり、先頭にコンマが表示されるようになりました。

于 2012-06-19T08:25:27.710 に答える