我有以下数组
let registrations = [
{user:1, reg_on:'12/02/2009'},
{user:10, reg_on:'11/02/2009'},
{user:5, reg_on:'11/02/2109'},
///others
]
Run Code Online (Sandbox Code Playgroud)
因此,现在尝试查找一个用户为1或5的记录,即第一个
所以我做了以下工作
let final = registrations.find(reg=>reg.user === 1 ||reg.user === 5);
Run Code Online (Sandbox Code Playgroud)
上面的方法有效,但是如果需要添加更多的过滤器参数(如reg.user === 10),则变得很乏味。
所以我试图像这样重构
let final = registrations.find(reg=>reg.user.includes([1,5,10]));
Run Code Online (Sandbox Code Playgroud)
但是现在,包含一个的行不通了。我错过了什么?
让用户的数字阵列发现,并检查它是否.includes在reg.user:
registrations.find(reg => [1, 5, 10].includes(reg.user));
Run Code Online (Sandbox Code Playgroud)
registrations.find(reg => [1, 5, 10].includes(reg.user));
Run Code Online (Sandbox Code Playgroud)