排序方法在ngOnInit方法中不起作用

时间:2019-01-30 08:18:06

标签: angular typescript

我正在尝试对具有这些属性的类的对象数组进行排序-> { data: any, mystring: string }

我正在尝试像这样

ngOnInit() {
  this.filterarray = this.unsortedarray.sort(
    (i1, i2) => i1.data.timestamp > i2.data.timestamp ? 1 : -1
  );
}

但是,排序没有进行,我得到了this.filterarray = this.unsortedarray

如果我对任何组件(更改)方法(在前端有一个select组件,这将有助于从unsortedarray过滤元素)中执行相同的操作,则排序按预期进行。不知道如何调试它。

所有其他代码行(如数据初始化等)均按ngOnInit方法中的预期进行。

预先感谢

1 个答案:

答案 0 :(得分:0)

假设您的排序方法在适当的时候被调用,您必须返回时间戳之间的完整差异,这将有助于排序,否则返回1的差异将不会在它们之间进行区分,-1相同。

this.filterarray = this.unsortedarray.sort(
    (i1, i2) => i1.data.timestamp - i2.data.timestamp
);