Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как получить значения объекта и его внутреннего массива? (https://javascript.ru/forum/misc/62865-kak-poluchit-znacheniya-obekta-i-ego-vnutrennego-massiva.html)

Enkille 05.05.2016 11:32

Как получить значения объекта и его внутреннего массива?
 
Есть объект с днями недели:

var tabelDays = {
  Monday: [
    "Завтрак",
    "Зарядка",
    "Тв",
    "Душ"
  ],
  Thuesday: [
    "Завтрак"
  ],
  Wednesdey: [
    "Тв"
  ]
}


Нужно получить как сам день недели, так и занятия внутри его, чтобы в последствии сгенерировать html-табличку.

Такой цикл я написал сейчас, но он выводит правильно только названия дня, а внутри выводить КОЛ-ВО задач, а не их название.

var day, task;
for(day in tabelDays){
  console.log(day);
  
  for(task in tabelDays[day]){
    console.log(task);
  } 
}

рони 05.05.2016 11:46

Enkille,
Цитата:

Сообщение от Enkille
сгенерировать html-табличку.

напишите результат

Enkille 05.05.2016 11:53

Цитата:

Сообщение от рони (Сообщение 415673)
Enkille,

напишите результат

Простая таблица: левая колонка - дни недели из объекта.
Правая колонка (один td с дивами внутри - занятия из этого дня недели).

<tr>
<td>Monday</td>
<td class="droppable sortable">
  <div class="task-block">
    <span class="close">x</span>
    <span class="hour">08:45</span>
    <span class="name">Завтрак</span>
  </div>
  <div class="task-block">
    <span class="close">x</span>
    <span class="hour">09:45</span>
    <span class="name">ТВ</span>
  </div>
</td>
</tr>

<tr>
<td>Thursday</td>
<td class="droppable sortable">
  <div class="task-block">
    <span class="close">x</span>
    <span class="hour">08:45</span>
    <span class="name">Завтрак</span>
  </div>
  <div class="task-block">
    <span class="close">x</span>
    <span class="hour">09:45</span>
    <span class="name">ТВ</span>
  </div>
</td>
</tr>

рони 05.05.2016 13:45

Создание строк таблицы из обьекта.
 
Enkille,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
 span {
   display: table-row;
 }
 td{
 border: solid 1px #0000FF;
 }
 table {
border-collapse: collapse;
border: 1px solid #0000FF;
}



 </style>

</head>

<body>
<table></table>
<script>
 var tabelDays = {
  Monday: [
    "Завтрак",
    "Зарядка",
    "Тв",
    "Душ"
  ],
  Thuesday: [
    "Завтрак"
  ],
  Wednesdey: [
    "Тв"
  ]
}
var table = document.querySelector("table");
Object.keys(tabelDays).forEach(function (key,c) {
  var tr = table.insertRow(c);
  var td = tr.insertCell(0);
  td.textContent = key;
  td = tr.insertCell(1);
  tabelDays[key].forEach(function(key) {
  var span = document.createElement("span");
  span.textContent = key;
  td.appendChild(span)
})

});
</script>

</body>
</html>

Enkille 06.05.2016 13:05

Цитата:

Сообщение от рони (Сообщение 415695)
[HTML run height=300]<!DOCTYPE html>

<html>
<head>

Спасибо большое, буду разбираться с кодом!


Часовой пояс GMT +3, время: 23:43.