检查角度数组对象是否具有指定值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查角度数组对象是否具有指定值相关的知识,希望对你有一定的参考价值。

我有一个以下对象的列表:

class Student : {
    IndexNo : string;
    Subject : string;
    Name : string;
    isAvailable : boolean
}
students: Student[];

我想检查“isAvailable”是否适用于任何学生。

答案

你可以使用array.some

const found = yourArray.some(item => item.isAvailable == true);
另一答案

你的定义是错误的。无论如何,你需要创建一个学生阵列。然后循环浏览它以查看是否有任何学生可用。如果提供的条件匹配,数组Some方法将退出循环。

private students: Array<{ IndexNo: string, Subject: string, Name: string, isAvailable: boolean }> = [];
const ifAnyTrue: boolean = this.students.some((student: { IndexNo: string, Subject: string, Name: string, isAvailable: boolean }) => student.isAvailable);
另一答案

如果学生是你的阵列:

检查所有数组是否有isAvailable为true的学生:

const found = students.some(item => item.isAvailable == true) 

获取isAvailable为true的第一个学生的索引(如果没有这样的元素,则返回-1):

const index = students.findIndex(item => item.isAvailable === true) 

获取isAvailable为true的所有元素的数组:

const availableStudents = students.filter(item => item.isAvailable === true) 

以上是关于检查角度数组对象是否具有指定值的主要内容,如果未能解决你的问题,请参考以下文章

如何检查对象数组是不是具有重复的属性值?

JavaScript单行代码,也就是代码片段

在javascript中搜索对象中的值[关闭]

如何在运行if语句之前检查数组中的$ meta_key是否具有值

检查对象数组是不是包含对象

hasOwnProperty