JS Challenge 2

JavaScript performance comparison

Revision 3 of this test case created by Spencer

Info

The second code challenge @ DM

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
Michael K
function scrambler() {
  var match = 0
  var fail = 0;
  var clone = "this is my test string";
  var cloneLow = clone.toLowerCase();
  var cloneArr = cloneLow.split("");
  var orig = "i miss test";
  var origLow = orig.toLowerCase();
  var origArr = origLow.split("");
  for (var i = 0; i < clone.length; i++) {
    if (orig.indexOf(clone[i]) == -1) {
      fail++;
    } else {
      match++;
    }
  }
  if (match >= origArr.length) {
    return true;
  } else {
    return false;
  }
}
pending…
Max H
function StringScramble(str1, str2) {
  var arr = new Array(26);
  var index;
  var arr_length = arr.length;
  var str1_length = str1.length;
  var str2_length = str2.length;
  // Initialize the array to 0
  for (var i = 0; i < arr_length; i++) {
    arr[i] = 0;
  }

  str2 = str2.toLowerCase();
  // Put char counts into arr for str2
  for (var j = 0; j < str2_length; j++) {
    index = str2[j].charCodeAt(0) - 97;
    arr[index] = arr[index] + 1;
  }

  // Compare str1 to str2
  for (var k = 0; k < str1_length; k++) {
    index = str1[k].charCodeAt(0) - 97;
    if (arr[index] > 0) arr[index] = arr[index] - 1;
  }

  // If any of the elements in the arry is non 0,
  // there's a mismatch and str1 cannot be a permutation of str2
  for (var n = 0; n < arr_length; n++) {
    if (arr[n] != 0) return false;
  }
  return true;
}
pending…
Spencer W
var StringScramble = function(str1,str2){
        var scrambled = str1.split("").sort();
        var expected = str2.split("").sort();
        var result = [];
        var ii = scrambled.length;
        var jj = expected.length;      

        for(var i = 0;i<ii;i++) {
                for(var j = 0;j<jj;j++) {
                        if(scrambled[i] === expected[j]) {
                                result.push(scrambled[i]);
                                break;
                        }
                }

        }
        var scrambledString = result.toString();
        var expectedString = expected.toString();
       
        return (scrambledString === expectedString ? "true" : "false");

};
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment