[英]How to check if at least one value of a list of objects in an array is true in Angular?
[英]Angular 2 / Typescript - how to check an array of objects to see if a property has the same value?
这个问题是在Javascript中完成的,但是我会认为在Typescript中我可以做某种映射/过滤操作来完成同样的事情。
我有一个称为Room
的对象数组。 每个Room
都有一个名为Width
的属性(实际上是一个字符串,例如'4m','5m','6.5m')。
我需要检查整个数组以查看所有宽度是否都相同。
基于这个问题,我有这个问题,但是我想知道TypeScript是否有更好的东西:
let areWidthsTheSame = true;
this.qp.rooms.forEach(function(room, index, rooms) {
if (rooms[index] != rooms[index+1]) areWidthsTheSame = false;
});
有任何想法吗?
仅供参考,链接问题的注释链接到这些性能测试,在此问题的上下文中这很有趣:
这可以通过以下方式完成:
const widthArr = rooms.map(r => r.width);
const isSameWidth = widthArr.length === 0 ? true :
widthArr.every(val => val === widthArr[0]);
我们首先将rooms数组转换为宽度数组,然后检查widths数组中的所有值是否相等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.