reactjs - 在存储数据时,React 中的对象哈希和数组有什么区别?

标签 reactjs

我试图通过后端存储来自API的数据,但我总是很困惑何时使用哈希以及何时使用数组

我刚刚创建了数组,但我想根据特定键值过滤数组

let course_ids = []
course_ids = this.state.courses.map( (course,index) => {
  if (index < this.state.index_value) {
   return course.id
  }
})

我正在获取类(class) ID,现在我必须使用我从类(class)数据中获得的 course_ids 对另一个数据进行排序,其中键值对是类(class) ID。

最佳答案

使用哈希表的最大优点是事后搜索数据要快得多。

如果您尝试在数组中搜索某些内容,假设数据未排序,则 Big O(时间复杂度)将为 O(N),其中 N 是数组的大小。换句话说,您必须迭代数组的每个元素(N 次迭代)。如果数组有 100 或 1000 个元素,应该没问题。问题是当您的数组包含太多数据时:例如 1000000 个元素。

如果您尝试使用哈希表中的键进行搜索,时间复杂度将为 O(1)(平均情况)。换句话说,哈希表是否有 1000 个或 1000000 个元素并不重要 - 如果哈希表维度良好,则始终只需要一次迭代即可返回您要查找的数据。

看看https://en.wikipedia.org/wiki/Hash_table

关于reactjs - 在存储数据时,React 中的对象哈希和数组有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58091209/

相关文章:

javascript - 如何在 react 手势画廊制作的幻灯片的幻灯片上添加按钮或文本

javascript - React.js 通过单个父级在不同的子级之间传递 prop

javascript - 我可以在 onSubmit 运行之前访问 Formik 中的值吗?

reactjs - MobX with React 与观察者的最佳实践

javascript - 自定义 useEffect 第二个参数

reactjs - Typescript 输入 onchange event.target.value

javascript - 如何正确地将函数与组件中的参数绑定(bind)?

javascript - 从另一个文件导入代码时,React-toolbox 选项卡不会呈现

javascript - 在 React 中如何将值传递给状态更改回调?

javascript - JSON api 数据未在 React 中加载