javascript - array.find() 返回项目和索引
问题描述
我有一个数据数组,我需要从数组中的一个项目中返回数据,以及结果的索引:
我下面的代码返回数据,但不返回索引,所以我认为这根本不能正常工作。
任何人都可以建议我如何实现我在下面尝试做的事情吗?
const result = design.data().items.find((e, i, a, arg) => {
if(e.id === this.props.match.params.item) {
return {item:e, index: i}
}
})
解决方案
您可以使用findIndex代替find
方法。
const { items } = design.data();
const id = items.findIndex((e) => e.id === this.props.match.params.item);
if (id !== -1) {
return { item: items[id], index: id };
}
推荐阅读
- emacs - 在 elisp 中迭代行或标题时如何检测缓冲区的结尾?
- mongodb - 想使用springboot将图像导入mongo
- javascript - JS 对象和 JSON 的主要区别是什么?
- javascript - 电子:如何在电子中使用可读流?
- c# - 我们如何在线更新 sharepoint 中的人员选择器字段?
- python - Tobit 回归卡方
- java - QueueClient 中长时间不活动和频繁出现 MessageLockLostException
- javascript - 如何将 AJAX 响应传递给 React 组件?
- rest - 如何使用 REST API 和 XRay for JIRA 和 Cucumber + Xray 导入测试执行结果
- node.js - 对象填充数组返回 null mongoose