javascript - 在 JavaScript 中链接 Array.find()
问题描述
我正在养成根据上下文将我的一些转换for loops
为 use的习惯array.find()
。这样做时,我想知道是否有一种方法可以在之后链接另一个运算符,.find()
以限制我从对象中抓取的数量。
例如,请参阅以下内容:
currentStage = customerDoc.history.find(h => h.completed === false);
currentStageName = currentStage.name;
由于我真正想要的只是“currentStage.name”的值,有没有办法通过在 my 之后链接来获得这个find()
,以指定我只想要这个属性?如果没有,是否有另一种方法可以在一行中做到这一点?
解决方案
是的,你可以喜欢这个,注意使用|| {}
以避免异常,以防 find 返回 undefined
currentStage = (customerDoc.history.find(h => h.completed === false) || {}).name
但是 IMO 你应该像现在一样保留它,它可读且易于维护
currentStage = customerDoc.history.find(h => h.completed === false);
currentStageName = currentStage && currentStage.name;
推荐阅读
- angularjs - 角JS。内存泄漏。此类型的对象未附加到 DOM
- ruby-on-rails - 如何在 ruby 中实现从后端应用程序加载图像的方法
- angularjs - AngularJS 的 ngMessages 模块中 $error 的长度
- sql - ORACLE:在多插入时不使用序列创建唯一值
- tsql - 尝试使用一个变量以逗号作为字符串的值运行 SQL 查询时出错
- python - 从 conda 更改 python 目录
- android - 我可以在 android 应用程序中设置均衡器的频段编号还是硬件会限制我?
- c - 如何在 GTK 中创建项目目录树视图和树存储?
- c# - 将委托/事件作为 ref 泛型参数传递
- python - 如何使多索引上的所有子索引具有相同的值