Underscore包含基于对象属性

时间:2013-07-02 15:12:03

标签: javascript underscore.js

我想使用Underscore.js来确定数组中是否存在对象的实例。

示例用法是:

var enrollments = [
    { userid: 123, courseid: 456, enrollmentid: 1 },
    { userid: 123, courseid: 456, enrollmentid: 2 },
    { userid: 921, courseid: 621, enrollmentid: 3 }
]

我希望能够识别userid和courseid相同的唯一注册。

所以基本上,给定一个注册列表,我可以根据与userid和courseid的匹配删除重复项,但不能删除注册ID。

1 个答案:

答案 0 :(得分:4)

您可以使用Underscore中的filter方法:

function contains(arr, userid, courseid){

 var matches = _.filter(arr, function(value){ 
    if (value.userid == userid && value.courseid == courseid){ 
      return value;
    } 
 });

 return matches;
}

contains(enrollments, 123, 456);