在Typescript中查找具有键的最小值的对象

时间:2018-02-12 13:07:11

标签: angular typescript

我在TypeScript中有一个声明为myList: Package[]的List。 Package的模型声明如下所示 -

export class Package {
ID: Number;
Price: Number;

}

我想获得一个Package对象,其 Price 值最小

myList.min(p=>p.Price)

请告知。

3 个答案:

答案 0 :(得分:3)

Yu可以使用reduce函数:

myList.reduce((r, e) => r.Price < e.Price ? r : e);

答案 1 :(得分:2)

不确定它是否是最佳方式,但我们可以使用lodash minBy执行此操作,如下所示:

</b>

您可以在lodash

查看lodash的文档

答案 2 :(得分:1)

数组 func scrollViewDidScroll(_ scrollView: UIScrollView) { if viewIsVisible { if scrollView.contentOffset.y <= 0 { if #available(iOS 11.0, *) { self.navigationItem.largeTitleDisplayMode = .always } else { // Fallback on earlier versions } } else { if #available(iOS 11.0, *) { self.navigationItem.largeTitleDisplayMode = .never } else { // Fallback on earlier versions } } self.navigationController?.navigationBar.setNeedsLayout() self.view.setNeedsLayout() UIView.animate(withDuration: 0.01, animations: { self.navigationController?.navigationBar.layoutIfNeeded() self.view.layoutIfNeeded() }) } } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { self.viewIsVisible = false } 很直观:

sort

它还允许在必要时查找具有最小值和最大值的对象。

虽然[...arr].sort((a, b) => b.p - a.p)[0] 更可取,也是更有效的方法(另一个答案可以解释)。