我试图通过后端存储来自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 个元素并不重要 - 如果哈希表维度良好,则始终只需要一次迭代即可返回您要查找的数据。
关于reactjs - 在存储数据时,React 中的对象哈希和数组有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58091209/