Blog

Cartesian Product of Multiple Arrays

A few weeks ago, I came across a question about finding the cartesian product of two or more arrays in JavaScript. For anybody who is looking to do so, I posted the following code on stackoverflow: function cartesianProductOf() { return Array.prototype.reduce.call(arguments, function(a, b) { var ret = []; a.forEach(function(a) { Read more…

By Chris West, ago
Blog

Currying Up More Examples

A few weeks ago, I wrote an example page on jPaq.org for using the curry function to easily add prototypal functions to the String object. As I was playing around with jPaq, I thought of a few more examples: // Returns an array of all of the characters in the Read more…

By Chris West, ago
Blog

String.prototype.expandTabs()

I personally love both JavaScript and Python. For this reason, from time to time I like to port functions that are available in Python, over to JavaScript. The following is a port of the expandTabs function. String.prototype.expandTabs = function(tabSize) { tabSize = Math.min(Math.max(parseInt(+tabSize || 8), 1), 32); return this.replace(/^.*\t.*$/gm, function(line) Read more…

By Chris West, ago
Blog

String.protototype.toCharCodes()

One of the functions that didn’t make the cut for jPaq is String.prototype.toCharCodes().  The reason is I don’t feel that it is a function that many people are looking for.  Still, if you are looking for a good implementation for it, you can use this: String.prototype.toCharCodes = function() { for(var Read more…

By Chris West, ago
Blog

From Wildcards To Regular Expressions

There are a lot of people out there that no how to do file searches and Microsoft Word searches by using wildcard characters, but not as many people know how to work with regular expressions. That is the main reason why I added the RegExp.fromWildExp() function to jPaq. In addition, Read more…

By Chris West, ago
Blog

getMatches(str, exp)

I recently encountered two troubling bugs with jPaq’s String.prototype.indexOfPattern() function.  In order to fix it, I ended up exploring the powerful String.prototype.replace() function, exploiting the parameter passed into the callback function.  I already knew that the matched text and sub-groups were passed into the callback function.  The thing that I Read more…

By Chris West, ago
Blog

No jPaq.openWindow() For Now

Up until today, I was interested in writing a more object oriented version of the native window.open() function.  Unfortunately, I found out that there are some major incompatibility issues between browsers.  Let’s take this example for instance: window.open("http://google.com/", "", "left=100,screenX=100,top=100,screenY=100,height=400"); window.open("http://google.com/", "", "left=100,screenX=100,top=100,screenY=100,width=400"); As you may have already guessed, the Read more…

By Chris West, ago