Сортировка данных по углам 7 - PullRequest
1 голос
/ 27 июня 2019

Мне нужно отсортировать этикетки по угловым. Я делаю это из файла component.ts. Сортировка работает отлично. Задаёт ключевое значение метки для сортировки. Но мое заявление на двух языках. поэтому сортировка по ключу не работает, когда я переключаюсь на другой язык. Есть ли способ, которым я могу отсортировать его на любом языке

getlabel(Id: string): Observable<Dto[]> {
return this.httpClient
  .get(
    url
  )
  .pipe(
    map((data: any) => {
      data.sort((a, b) => {
        return a.label > b.label ? 1 : -1
      })
      return data
    })

  ) as Observable
}

Ответы [ 2 ]

2 голосов
/ 27 июня 2019

Использование localeCompare функция:

.pipe(
    map((data: any) => {
      return data.sort((a, b) => {
        return a.label.localeCompare(b.label, 'he');
      })
    })
  ) as Observable

«он» предназначен для языка иврит, замените его на код языка

Stackblitz DEMO

0 голосов
/ 27 июня 2019

Работает для сортировки на разных языках

.pipe(
    map((data: any) => {
      data.sort((a, b) => {
        return this.translate
          .instant(a.label)
          .localeCompare(this.translate.instant(b.label))
      })
      return data
    })
  ) as Observable
...