假设我有一个巨大的(1000+)对象列表,如下所示:
[{name: 'john dow', age: 38, gender:'m'}, {name: 'jane dow', age: 18, gender:'f'}, ..]
我想按名称过滤此列表(按字符)。
filter('j') => [{name: 'john dow', age: 38, gender:'m'}, {name: 'jane dow', age: 18, gender:'f'}, ..]
filter('jo') => [{name: 'john dow', age: 38, gender:'m'}, ..]
filter('dow') => [{name: 'john dow', age: 38, gender:'m'}, {name: 'jane dow', age: 18, gender:'f'}, ..]
最高性能的方法是什么?RegEx 显然是关键之一,如果您假设用户通常倾向于从头开始命名,则预先对列表进行排序可能也是一个好主意,但它只在某些情况下有所帮助。
是否有用于映射过滤器的 JavaScript 内置函数?我希望那些比 JavaScript 实现更快。
PS:是的,我想在客户端进行过滤,因为我想提供“离线功能”。