Лучший способ хранить несколько строковых массивов и отображать их в html - PullRequest
0 голосов
/ 11 февраля 2020

извините за плохой заголовок .... Я не знал, как его назвать. У меня небольшая проблема. У меня есть массив строк, и я хочу разрезать эти строки на более мелкие части. Для этого я использовал al oop и метод split. Но split также возвращает массив.

Каков наилучший способ сохранить эти возвращенные массивы, чтобы впоследствии я мог отобразить его в таблице в моем файле html?

Надеюсь, это будет более понятно с моим фрагментом кода .

books: string[];
booksDetails: string[][];
...
...
for (var i = 0; i < books.length ; i++) {
  var bookSplit = books[i].split(/(?:\/|-)+/);
  this.booksDetails.push(bookSplit);
}
...

, а затем отобразить его

<table>
  <thead>
    <tr>
      <th>name</th>
      <th>author</th>
      <th>date</th>
    </tr>
  </thead>
  <tbody>
    <tr *ngFor="let book of booksDetails; let i = index" [attr.data-index]="i">
      <td>{{book[i][0]}}</td>
      <td>{{book[i][1]}}</td>
      <td>{{book[i][2]}}</td>
    </tr>
  </tbody>
</table>

1 Ответ

2 голосов
/ 11 февраля 2020

Вы на полпути, просто вложите еще один ngFor -l oop в элемент * <td>:

...
<tr *ngFor="let book of booksDetails; let i = index" [attr.data-index]="i">
  <td *ngFor="let detail of book; let j = index" [attr.data-index]="j">
    {{detail}}
  </td>
</tr>
...

Редактировать: Вы также можете использовать Array.map () вместо длинного и ненужного для -l oop:

this.booksDetails = this.books.map(b => b.split(/(?:\/|-)+/));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...