如何实现一个简单的有索引的数组?
如何实现一个索引数组?
场景
像下面这段代码
class User {
constructor(id, name, age) {
this.id = id
this.name = name
this.age = age
}
}
const users = [
new User(1, 'rxliuli', 18),
new User(2, '琉璃', 17),
new User(3, '灵梦', 16),
new User(4, '楚轩', 23),
new User(5, '月姬', 1000),
new User(6, '音无', 16),
]
console.log(users.find(({ id }) => id === 1))
console.log(users.find(({ name }) => name === '音无'))
console.log(users.filter(({ age }) => age >= 18))
难道实现这些功能就只能遍历么?能否实现某种数据结构能够指定某个字段有索引,然后能够以常量时间根据该字段进行查找/过滤等操作呢?
Pass: 结构化的数据库一般都有索引这种功能,为何程序中反而没有呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你可以自己做一个反向索引(
reverse index
)啊,很简单,就是个string => array的映射。比如:但是你给的数据太过于离散了,所以没有必要。少数据量或者数据离散度很高的情况下,还不如便利方便一些。
都现代化社会了
Map
了解一下老铁,构建时用名称或者一个唯一值作为键就能索引用法参照我是分割线
传送门Map-MDN