【发布时间】:2019-06-23 11:07:49
【问题描述】:
我正在尝试对具有这些属性的类的对象数组进行排序 -> { data: any, mystring: string }
我正在尝试这样排序
ngOnInit() {
this.filterarray = this.unsortedarray.sort(
(i1, i2) => i1.data.timestamp > i2.data.timestamp ? 1 : -1
);
}
但是,排序没有发生,我收到this.filterarray = this.unsortedarray
如果我对任何组件(更改)方法执行相同操作(我在前端有一个选择组件,这将有助于过滤来自unsortedarray 的元素),则排序将按预期进行。不知道如何调试这个。
所有其他代码行(如数据初始化等)都在 ngOnInit 方法中按预期进行。
提前致谢
【问题讨论】:
-
当您在 ngOnInit() 中排序之前记录未排序数组时,它是否已满?
-
另外我猜排序是就地完成的,它会改变 unsortedarrat
-
@FatemeFazli 是的,我在进行排序之前检查过,未排序的数组包含所有元素。
-
@MarouaneFazouane filterarray 在排序前为空,但 filterarray 在运行排序后变为等于未排序的数组,这很奇怪。
-
请提供一些示例数据以供使用。如果您可以创建一个工作示例 stackblitz 来复制此问题,这也将非常有帮助。
标签: angular typescript