首页 > 解决方案 > 为什么让 .indexOf() 返回为 -1,尽管元素存在于数组中?

问题描述

“地址”是一个对象数组,每个对象元素都有特定的_id。
我试图在 idsArray 中找到.indexOf(req.params.a_id)(这是数组中所有这些对象元素的 id 数组),但是.indexOf() 返回 -1尽管 _id 存在于 idsArray 中。

代码快照!

标签: javascriptexpressmongoose

解决方案


我认为 .indexOf 最常用于字符串,您可以通过以下方式获取它:

idsArray.filter(x => x.id == req.params.a_id)

这将返回一个包含匹配元素的数组。

参考:https ://www.w3schools.com/jsref/jsref_filter.asp

更新:找到您可以使用的索引

idsArray.findIndex(x=> x == req.params.a_id)

推荐阅读