Javascript Diff Algorithm


Using an idea grabbed from a mailing list post, I implemented the diff algorithm discussed in the following paper (free registration required):

P. Heckel, A technique for isolating differences between files
Comm. ACM, 21, (4), 264–268 (1978).

The implementation, itself, has two functions, one of which is recommended for use:

diffString( String oldFile, String newFile )
This method takes two strings and calculates the differences in each. The final result is the ‘newFile’ marked up with HTML (to signify both deletions from the oldFile and additions to the newFile).

Sample Code

  1. document.body.innerHTML = diffString(
  2.    "The red brown fox jumped over the rolling log.",
  3.    "The brown spotted fox leaped over the rolling log"
  4. );

Sample Output

The red brown spotted fox jumped leaped over the rolling log.

Projects Using this Code:

Downloads

This work is licensed under the MIT License.

Posted: June 23rd, 2005


If you particularly enjoy my work, I appreciate donations given with Gittip.

49 Comments (Show Comments)



Comments are closed.
Comments are automatically turned off two weeks after the original post. If you have a question concerning the content of this post, please feel free to contact me.


Secrets of the JavaScript Ninja

Secrets of the JS Ninja

Secret techniques of top JavaScript programmers. Published by Manning.

Ukiyo-e Database and Search

Ukiyo-e.org

Japanese woodblock print database and search engine.


John Resig Twitter Updates

@jeresig

Infrequent, short, updates and links.