javascript - array.find() 返回项目和索引

标签 javascript arrays ecmascript-6

我有一个数据数组,我需要从数组中的某个项目返回数据,以及结果的索引:

下面的代码返回数据,但不返回索引,因此我认为这根本无法正常工作。

任何人都可以告诉我如何实现我在下面尝试做的事情吗?

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 };
}

关于javascript - array.find() 返回项目和索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52182773/

相关文章:

javascript - 从项目数组中删除项目不起作用

javascript - 我如何将此 require 写为 es6 import 语句

javascript - 使用 javascript 迭代子对象并获取所有值

javascript - 如何使用 JavaScript 从 Windows 8 应用程序中的组 listView 中删除元素

ios - UITableView 数组

java - 创建构造函数、方法和存储数组的规范令人困惑?

angular - 无法在 Angular 2 内部回调中设置类级别变量

javascript:将函数存储为数组

javascript - 元素在 IE 8 中始终为空

javascript - lodash:将属性插入同一对象中的另一个属性