单击按钮的角度排序方式

时间:2018-10-10 15:33:15

标签: javascript angular typescript

嘿,所以我是一个初学者,试图了解angularjs / typescript。

我在无序列表中写了一系列水果,我想按降序对它们进行排序,然后通过按钮按字母顺序反向搜索。但是我不知道该功能应该是什么...寻求帮助

HTML:

export class AppComponent {
  fruits: string[] = ["Apple", "Banana", "Orange", "Peach", "Pear", ];
}
<ul>
  <li *ngFor="let fruits of fruits">{{fruits}}
  </li>
</ul>

<button ng-click="send()">Sort </button>

3 个答案:

答案 0 :(得分:0)

好的水果在哪里?

无论如何:

export class AppComponent {
  cities: string[] = [ "Pear","Banana", "Apple", "Orange", "Peach" ];
}

好,现在

  <ul>
      <li *ngFor="let city of cities">{{city}}
      </li>
    </ul>

    <button (click)="send()">Sort </button>

并使用函数:

send(){
    this.cities = this.cities.sort(); 
}

答案 1 :(得分:0)

您可以使用sort()函数。

 send(){
    this.fruits = this.fruits.sort((n1,n2) => {
    if (n1 < n2) {
        return 1;
    }

    if (n1 > n2) {
        return -1;
    }

    return 0;
});
  }

这是您的解决方案的链接。 stackBlitz

答案 2 :(得分:0)

更改sort(),以便对字符串进行排序。

 send(){
     this.fruits.sort((n1,n2) => {
  return n1.localeCompare(n2)  
});

看一看stackblitz link

要切换, 设置变量,检查变量并返回值。

send(){
    this.order = !this.order;
     this.fruits.sort((n1,n2) => {       
      return (this.order)? n1.localeCompare(n2):n2.localeCompare(n1);
    });
  }