0

遅いからなのか何なのかわかりませんが、今夜はかなり基本的なオブジェクト配列を構造化して構築することを考えるのに非常に苦労しているようです。

私がやろうとしているのは、テキスト フィールド ID のリストを収集し、それらをグループ変数に入れることです。

groupA:{year, make, model}
groupB:{color,body}

メイン グループ オブジェクトを構成する方法がわかりません。配列を使用する必要があるかどうかはわかりません。以下は私の最初の試みです

group = {groupA:{"year","make","model","trim"},groupB:{"body","color","transmission"}}

このようにグループ オブジェクトを作成しようとしましたが、すべて間違っていると感じています。

  //Class variable
  Var group = {}

  //this method is called for every textfield
  selectGroup = function(spec) {
    //Group id is the group the field is assigned to, example groupA, or groupB
    var groupId = spec.groupId;

    //I'm checking to see if groupId exist in group object, otherwise I add it. 
    if (!group.hasOwnProperty(groupId)) {
        var obj = {};
        obj[groupId] = [];
        group = obj;
    }
    //spec.id is the field id, example make, model
    group[groupId].push(spec.id);
};

誰かがこれをすべて修正するのを手伝ってくれたら、とても感謝しています。前もって感謝します。

4

2 に答える 2

2

ほら、あなたはフィドルの仕事に行きます

var group = {};

//this method is called for every textfield
selectGroup = function (spec) {
    //Group id is the group the field is assigned to, example groupA, or groupB
    var groupId = spec.groupId;

    //I'm checking to see if groupId exist in group object, otherwise I add it. 
    if (!group.hasOwnProperty(groupId)) {
        group[groupId] = [];
    }
    //spec.id is the field id, example make, model
    group[groupId].push(spec.id);
};
于 2013-09-22T05:06:36.270 に答える
1

このような出力が必要だと仮定すると、

group = {groupA:["year","make","model","trim"] , groupB:["body","color","transmission"]},

できるよ、

var group = {};

if (!group.hasOwnProperty(groupId)) {            
    group[groupId] = [];            
}        
group[groupId].push(spec.id);
于 2013-09-22T05:06:25.147 に答える