Показывать данные на странице в другом порядке, чем в базе данных - PullRequest
0 голосов
/ 17 июня 2020

Я не могу понять, как мне удается отображать некоторые данные из базы данных в другом порядке на странице. В моем случае у меня есть таблица с тремя столбцами: День недели, Открыто с и Открыто до, поэтому в основном это часы работы для определенных c дней недели. В моей таблице базы данных это выглядит так:

  1. воскресенье 00:00 00:00
  2. понедельник 07:00 15:00
  3. вторник 07:00 15 : 00
  4. среда 07:00 15:00
  5. четверг 07:00 15:00
  6. пятница 07:00 15:00
  7. суббота 00: 00 00: 00

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

Я использую Angular как интерфейс, Springboot как бэкэнд.

Мне просто нужно простое решение, если возможно, при необходимости могу предоставить код.

regularDays: RegularDays[];
  RegDay: RegularDays = new RegularDays("", "", "", "");

  constructor(private router: Router,
    private httpClientService: RegularDaysService
  ) { }

  ngOnInit() {
    this.httpClientService.getRegularDays().subscribe(
      response => {
        this.regularDays = response;
        this.regularDays.forEach(element => {
          element.openFrom = this.formatTime(element.openFrom);
          element.openTo = this.formatTime(element.openTo);
          element.dayOfWeek = this.formatDay(element.dayOfWeek);
        });
      }
    );
  }

formatDay(day) {
    let formattedDay = "";
    switch (day) {
      case '1': formattedDay = 'Monday'

        break;
      case '2': formattedDay = 'Tuesday'

        break;
      case '3': formattedDay = 'Wednesday'

        break;
      case '4': formattedDay = 'Thursday'

        break;
      case '5': formattedDay = 'Friday'

        break;
      case '6': formattedDay = 'Saturday'

        break;
      case '7': formattedDay = 'Sunday'

        break;
      default:
        break;
    }
    return formattedDay;
  }

1 Ответ

0 голосов
/ 17 июня 2020

Попробуйте это ..

   daysOrder = { Sunday: 1, Monday: 2, Tuesday: 3, Wednesday: 4, Thursday: 5, Friday: 6, Saturday: 7 };

   this.regularDays.sort(function (a, b) {
        return daysOrder[a.dayOfWeek] - daysOrder[b.dayOfWeek];
    });
   console.log('regularDays:',this.regularDays);
...