의 내가 같이 대량의 객체 (1000) 목록을 가정 해 봅시다 :JavaScript에서 JSON 객체의 목록을 필터링하는 최고의 성능 방법은 무엇입니까?
[{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 내장 함수가 있습니까? 나는 그것들이 자바 스크립트 구현보다 더 빠를 것이라고 기대한다.
P .: 예. 제공하려는 "오프라인 기능"때문에 클라이언트 쪽에서 필터링하고 싶습니다. substring index (예 : Suffix tree A와)이이 빨리 만들 것입니다하지만
실제로 자바 스크립트의 객체 인 경우 더 이상 JSON이 아닙니다. "JSON"은 해당 정보를 네트워크를 통해 전송할 때 사용되는 표기법입니다 (또는 저장 가능). JavaScript 프로그램 내에서는 단순히 "JavaScript 객체"입니다 (인코딩 된 JSON 데이터가 들어있는 문자열에 대해 이야기하지 않는 한, 더 이상 사용하기 전에 JavaScript 객체로 변환해야합니다). –
"ohn"을 검색하면 어떨까요? –
@ JoachimSauer 네가 맞아.나는 그것을 고쳤다;) 필터 ('ohn') => [{name : 'john dow', 나이 : 38, 성별 : 'm'}, ..] – wzr1337