0

私のコードを見てください:

function foo() {
    var h = "start";
    $.each(some_array_of_objects, function() {
        var name = 'middle';        
        h += name;
    });
    h += "end";
    alert(h);
}

アラートに蓄積された文字列が表示されることを期待していますが、代わりに多くの[object Object]文字列を含む文字列を取得しました。グローバル変数を使用せずに、上記の方法でh変数を累積することは可能ですか?

4

1 に答える 1

0

配列/オブジェクトをループするために jQuery を使用する必要はありません。for配列のループとオブジェクトのループを使用するだけfor-inです。これはあなたの場合に機能します:

//Assuming the input array is something like this:
some_array_of_objects = [[{name:'ABC'}],[{name:'I am a name'}],[{name:'Look at me!'}],[{name:'foo'}],[{name:'bar'}]]

function foo() {
    var h = "start";
    // Loop through the array.
    for(var i = 0; i < some_array_of_objects.length; i++){
        var name = some_array_of_objects[i][0].name;        
        h += name;
    }
    h += "end";
    alert(h);
}
foo(); //Returns: "startABCI am a nameLook at me!foobarend"
于 2012-11-30T10:07:22.960 に答える