Доступ к значениям массива в массиве внутри объекта - PullRequest
1 голос
/ 04 апреля 2020

У меня есть объект

{
  'Bob Joerson': [
    [ 'Tuesday March 31, 2020', '07:58:12.0' ],
    [ 'Wednesday April 1, 2020', '11:00:03.7' ]
  ],
  'Joe Bobberson': [
    [ 'Tuesday March 31, 2020', '07:58:12.0' ],
    [ 'Wednesday April 1, 2020', '11:00:03.7' ]
  ]
}

Как получить доступ к информации в массиве массива?

Я пытался:

<% for(var key in timesheets){ %>
    <% if(timesheets.hasOwnProperty(key)){ %>
    <% a = 0 %>
<table id="timesheetTable" class='table-primary table-bordered table' style='border-spacing: 10px;'>
    <tr>
        <td rowspan="2" id="name"> <%= key %> </td>
        <% for(var value in key){ %>
            <td> <%= value %> </td>
        <% } %>
    </tr>
</table>
    <% a++ %>
    <% } %>
<% } %>

Но значение просто выводит строковый индекс для имени, хранящегося в ключе.

Когда я пытаюсь

<h1>Timesheet for dates</h1> 

<% for(var key in timesheets){ %>
    <% if(timesheets.hasOwnProperty(key)){ %>
    <% a = 0 %>
<table id="timesheetTable" class='table-primary table-bordered table' style='border-spacing: 10px;'>
    <tr>
        <td rowspan="2" id="name"> <%= key %> </td>
        <% for(i = 0; i < key.length; i++){ %>
            <td> <%= key %> </td>
        <% } %>
    </tr>
</table>
    <% a++ %>
    <% } %>
<% } %>

Он просто выводит имена снова и снова в таблице.

Ответы [ 2 ]

3 голосов
/ 04 апреля 2020

Попробуйте:

<% for(var key in timesheets){ %>
    <% if(timesheets.hasOwnProperty(key)){ %>
    <% a = 0 %>
<table id="timesheetTable" class='table-primary table-bordered table' style='border-spacing: 10px;'>
    <tr>
        <td rowspan="2" id="name"> <%= key %> </td>
        <% for(var value of timesheets[key]){ %>
            <td> <%= value[0] %><%= value[1] %> </td>
        <% } %>
    </tr>
</table>
    <% a++ %>
    <% } %>
<% } %>

Обратите внимание, что key - это каждый key из timesheets, поэтому timesheets[key] будет значением (массивом массивов) этого ключа.

1 голос
/ 04 апреля 2020

попробуйте что-то вроде этого:

        <% for(var entry of timesheets[key]){ %>
            <td> Date: <%= entry[0] %> </td>
            <td> Time: <%= entry[1] %> </td>
        <% } %>
...