我不确定在对象数组中使用 indexOf
不工作的代码是:
if (res.locals.company.companies.indexOf(req.query.companyId) >= 0) return next()
if 条件将始终返回 false。
我也在控制台中测试过,实际上是错误的:
>> var zio = { __v: 1,
_id: '50bc0238049a1ff10b000001',
companies:
[ { _id: '50bc01938f164ee80b000001', name: 'Test' },
{ _id: '50bc01ac4e860ee90b000001', name: 'zio' } ],
}
>> zio.companies.indexOf("50bc01938f164ee80b000001")
-1
而它应该是真的。
我应该使用任何神秘的下划线实用程序吗?
更新/澄清:我的目的只是检查 50bc01938f164ee80b000001 是否存在于其中一个 id 中,我不需要知道它实际上在哪里。这是非常关键的性能!
Nodejs 解决方案或技巧将是惊人的!