简单的JS索引工具 Mindex

BSD
JavaScript 查看源码»
跨平台
2016-03-30
开源中国股瞎

Mindex是一个简单的JS索引工具,主要基于LokiJS。适用对象中的集合 , Mindex几乎能瞬间从大量数据中查找到想要的结果,并且支持快速排序。它的查询语法非常的直观,同样也支持模糊查询,另外,Mindex与同类软件相比,查询效率也是极高的。

主要特性:

  • 体积小 - 仅300行代码

  • 速度快 - 瞬间匹配到结果

  • 功能强大 - 支持简单查询也支持复杂查询

安装

NPM

性能测试相关数据

***********************
Test Mindex performance
***********************

Testing insertRecord(record)

Mindex 16.80 ops/sec, Native Array 45.51 ops/sec
Mindex is 63% slower


Testing get(key)

Mindex 3485998.20 ops/sec, Native Array 642.11 ops/sec
Mindex is 542799% faster


Testing getAll(), get all records

Mindex 374.92 ops/sec, Native Array 14.41 ops/sec
Mindex is 2502% faster


Testing removeRecord(key, value)

Mindex 1955971.50 ops/sec, Native Array 220.43 ops/sec
Mindex is 887260% faster

示例代码

var Mindex = require('mindex')

var index = Mindex(['age'])

index.insertRecord({
  id: 'John',
  age: 25
})
index.insertRecord({
  id: 'Darcy',
  age: 28
})
index.insertRecord({
  id: 'Jim',
  age: 29
})
index.insertRecord({
  id: 'Betty',
  age: 25
})

// Get IDs by key
console.log(index.get(25)) // [ 'Betty', 'John' ]

// Get all IDs sorted by key (age)
console.log(index.getAll()) // [ 'Betty', 'John', 'Darcy', 'Jim' ]

// Get all IDs within a given range
console.log(index.query({'>': [22], '<': [29]})) // [ 'Betty', 'John', 'Darcy' ]
的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

JS中常用正则表达式总结(一)

/* 用途:检查输入的Email信箱格式是否正确 输入:strEmail:字符串 返回:如果通过验证返回true,否则返回false */ function checkEmail(strEmail) { //var emailReg = /^[_a-z0-9]+@([_a-z...

2016/05/29 23:47
21
0
Fragment的解析(一)

fragment在android开发中越来越普遍,甚至已经出现反fragment的声音。本片文章不做利弊分析,只从实现角度分析fragment与activity纠缠不清的关系。

2014/10/16 10:42
1K
0
常用js验证代码

/* 用途:检查输入的Email信箱格式是否正确 输入:strEmail:字符串 返回:如果通过验证返回true,否则返回false */ function checkEmail(strEmail) { //var emailReg = /^[_a-z0-9]+@([_a-z...

2013/04/24 11:36
16
0
i看看!!

1. ga.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { gaAdapter.setSeclect(a...

2013/03/20 21:34
30
0
形形色色的Dreamweaver中js表单验证实例

在使用Dreamweaver设计注册表单,往往要使用js来进行表单验证。 用途:主要用于校验ip地址的格式 输入:strIP:ip地址 返回:如果通过验证返回true,否则返回false; */ function isIP(strIP...

2015/07/30 13:51
12
0
Qt Undo Framework Demo

Qt Undo Framework Demo eryar@163.com Abstract. Qt’s Undo Framework is an implementation of the Command Pattern, for implementing undo/redo functionality in applications. The C...

2015/01/13 19:31
49
0
DialogFragment源码分析

目录介绍 1.最简单的使用方法 1.1 官方建议 1.2 最简单的使用方法 1.3 DialogFragment做屏幕适配 2.源码分析 2.1 DialogFragment继承Fragment 2.2 onCreate(@Nullable Bundle savedInstanceS...

2018/10/12 16:52
12
0
小米的抢购骗局+小米的抢购页面的源代码分析(四)配置类分析

下面分析从第2行到第231行的,230行代码,这300行主要是关于程序的一些配置信息。 var randCount = parseInt(Math.random() * (0xa - 0x5 + 0x1) + 0x5), //上来,先是一个随机数,就是从10到...

2013/11/20 10:04
1K
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部