0

オブジェクトの配列を作成してから、オブジェクトが存在しない場合はオブジェクトを更新するか、新しいオブジェクトを作成しようとしています。$.grep 関数を使用するのはこれが初めてで、何が間違っているのかわかりません。何かアドバイス?

オブジェクトは次のとおりです。

function Phase(phase, html, count) {
        this.phase = phase;
        this.html = html;
        this.count = count;
        this.porfolios = [];
    }

    function Portfolio(portfolio, html, count) {
        this.portfolio = portfolio;
        this.html = html;
        this.count = count;
    }

これが問題のコードです....

var phases = [];
//Check Array of Phases 
result = $.grep(phases, function (e) { return e.phase == item.Phase; });

if (result.length == 0) 
{
     var newphase = Phase(item.Phase, itemhtml, 1)
     phases.push(newphase);
} 
else if (result.length == 1) 
{
 // update existing phase
 result[0].count ++;
 result[0].html += itemhtml;
}
4

2 に答える 2

1
var newphase = Phase(item.Phase, itemhtml, 1)

する必要があります

var newphase = new Phase(item.Phase, itemhtml, 1)
于 2013-04-19T12:36:36.303 に答える
1

newオブジェクトを作成するには、キーワードを使用する必要があります。

var newphase = new Phase(item.Phase, itemhtml, 1);
于 2013-04-19T12:37:04.300 に答える