オブジェクトの配列での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の1つに存在するかどうかを確認することです。実際に、それがどこにあるかを知る必要はありません。これは非常にパフォーマンスが重要です。
Nodejsのソリューションやヒントは素晴らしいでしょう!