Я не уверен, что это потому, что это поздно или что-то, но сегодня мне кажется, что у меня очень трудное время, думая, структурируя довольно простой массив объектов и строя его.
То, что я пытаюсь сделать, - собрать список идентификаторов текстового поля и поместить их в групповую переменную;
пример
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);
};
Если бы кто-нибудь мог помочь мне исправить это, я бы очень признателен. Заранее спасибо.
Здесь вы ходите на скрипку
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);
};
Предполагая, что вы хотите, чтобы результат был таким,
group = {groupA:["year","make","model","trim"] , groupB:["body","color","transmission"]},
Ты можешь сделать,
var group = {};
if (!group.hasOwnProperty(groupId)) {
group[groupId] = [];
}
group[groupId].push(spec.id);