Я хочу фильтровать объект в течение некоторого диапазона времени.Фильтрующий объект в зависимости от диапазона года
Объект У меня есть выглядит следующим образом:
students = [ {studentId: 1,
studentName: 'Alex',
studentClass: 1,
studentBirth: 1345262400000},
{studentId: 2,
studentName: 'Bob',
studentClass: 1,
studentBirth: 1345608000000},
...
];
И я хочу, чтобы найти некоторые студент, что год рождения> 1994 & & года рождения < 2000. Кроме того, я хочу, чтобы сузить на основе класса студента.
Я написал такой код:
var targetStudent = {};
targetStudent['studentClass'] = 1;
students = $filter('filter')(students, targetStudent);
С выше коде, я могу найти студентов, чей класс 1, но я не знаю, как отфильтровать на основе года.
Я мог бы написать что-то вроде:
students = $filter('filter')(students, function(student) {
if(new Date(student.studentBirth).getFullYear() < 2000 && new Date(student.studentBirth).getFullYear() > 1994)
return true;
else
return false;
});
Но я хочу, чтобы создать объект, чтобы найти студентов. Является ли это возможным?
Нет, это не представляется возможным использовать объект в одиночку добиться того, что вы хотите. Требуется выражение пользовательской функции или пользовательский компаратор. – runTarm