자바 스크립트에서 대용량 텍스트 문서 (예 : 소스 코드 파일)를 효율적으로 편집해야합니다.Javascript에서 큰 문자열을 효율적으로 편집하기위한 라이브러리가 있습니까?
insertAtPosition(n, str)
및 deleteAtPosition(n, length)
은 빠릅니다.
각 작업은 문서의 내용을 새 문자열로 복사해야하기 때문에 순진한 문자열 구현이 느립니다.
몇 가지 효율적인 방법이 있습니다. 줄 배열 (Ace 일명 Bespin이이 작업을 수행 할 수 있습니다.)을 사용할 수 있지만 긴 긴 줄 또는 짧은 줄이 많은 경우 속도가 느려집니다. 더 나은 구현은 skip lists 또는 다른 영리한 데이터 구조를 사용합니다.
하지만 누군가가 이미 그런 것을 구현했기를 기대합니다.
이미이 작업을 수행하는 라이브러리가 있습니까? Google에서 유용한 정보를 찾을 수없는 것 같습니다.이 알고리즘 문제의 일반적인 이름이 있습니까?
시도 로프 : https://secure.wikimedia.org/wikipedia/en/wiki/Rope_%28computer_science%29 –
것은 아마도 사용 'source.split ('')'문자로 분리 한 다음 최악의 경우 O (n) 인 원시 Array.splice를 사용하십시오. – Reid
@Reid : 문자열의 순수한 조작은 이미 O (n)이므로 아무 것도 얻을 수 없습니다. Javascript의 배열에 요소 당 메모리 오버 헤드가있는 경우 실제로 접근 속도가 느려집니다. –