2016-09-21 4 views
-2

У меня есть карта daySubjects и subject массив У ​​меня также есть days массив для хранения «Sunday to Saturday» я должен создать JSON, как это с помощью этих переменныхСоздание объекта карты угловых JS

{ 
"daySubjects": { 
    "MONDAY": { 
     "subject": [ 

     ] 
    }, 
    "TUESDAY": { 
     "subject": [ 

     ] 
    }, 
    "WEDNESDAY": { 
     "subject": [ 

     ] 
    }, 
    "THURSDAY": { 
     "subject": [ 

     ] 
    }, 
    "FRIDAY": { 
     "subject": [ 

     ] 
    }, 
    "SATURDAY": { 
     "subject": [ 

     ] 
    }, 
    "SUNDAY": { 
     "subject": [ 

     ] 
    } 
} 

}

+0

прохладный. Но почему это угловое? Возможно, вы захотите проверить библиотеку [lodash] (https://lodash.com/), которая обеспечивает отличную коллекцию методов обработки общих задач над коллекциями. –

+0

угловой или javascript ничего в порядке, можете ли вы просто показать, как сделать это по крайней мере на один день, используя указанные переменные? – masSdev

+0

Я не могу этого добиться, я попробовал 'var subject = []' \t '$ scope.timetable.daySubjects [" sunday "] = subject' – masSdev

ответ

1

Ok , если я правильно понимаю qustion, вот пример простого кода javascript:

var days = ["sun","mon","tue","wed","thu","fri","sat"]; 
var result = { 
    daySubjects : {} 
}; 
days.forEach(
    function(i){ 
     result.daySubjects[i] = { subject:[] }; 
    } 
); 

A выполнение осла это строка, результат объект будет содержать:

{ 
    "daySubjects": { 
     "sun": { 
      "subject": [] 
     }, 
     "mon": { 
      "subject": [] 
     }, 
     "tue": { 
      "subject": [] 
     }, 
     "wed": { 
      "subject": [] 
     }, 
     "thu": { 
      "subject": [] 
     }, 
     "fri": { 
      "subject": [] 
     }, 
     "sat": { 
      "subject": [] 
     } 
    } 
} 

В JavaScript, вы должны позаботиться о том, объектах, которые вы имеете в виду, определены. Например:

var test = {}; 

// fails because test.x is not defined 
test.x[0] = 10; 

//works cause you create array object before using it 
test.x = []; 
test.x[0] = 10; 

Что делает его легче, однако, заключается в том, что вы можете определить всю вложенную структуру объекта JSON на одном дыхании.

+0

Это работает для меня! – masSdev

Смежные вопросы