javascript - 下划线包含基于对象属性

标签 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 }
]

我希望能够识别用户 ID 和类(class) ID 相同的唯一注册。

所以基本上,给定一个注册列表,我可以根据与用户 ID 和类(class) ID 的匹配删除重复项,而不是注册 ID。

最佳答案

您可以使用 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);

关于javascript - 下划线包含基于对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17429258/

相关文章:

javascript - 如何解决在 JSON 文件中创建新对象的问题?

javascript - 在 Typescript 中输入内容时遇到问题

javascript - 对象数组中的 Lodash/下划线 : Check for a value within an array,

javascript - 使用下划线比较两个对象列表并获取唯一对象

javascript - 带循环的主干 View 渲染没有数据?

javascript - 如何在javascript中将两个正则表达式合二为一?

javascript - 如何使复选标记的颜色不同?

javascript - 如何使用casperjs点击一个随机链接并导航到另一个页面?

arrays - 单个对象的 lodash 值到具有固定键的对象数组

javascript - BackboneJs - 模型或集合是否应该具有 View 知识