Skip to content

Instantly share code, notes, and snippets.

@kevadsett
Created September 8, 2013 08:32
Show Gist options
  • Select an option

  • Save kevadsett/6482949 to your computer and use it in GitHub Desktop.

Select an option

Save kevadsett/6482949 to your computer and use it in GitHub Desktop.

Revisions

  1. kevadsett created this gist Sep 8, 2013.
    19 changes: 19 additions & 0 deletions function cloneObject
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,19 @@
    function cloneObject(objectToClone) {
    var key, i, clonedArray = [];
    var clone = {};
    if(typeof objectToClone == "object") {
    if(objectToClone.length == undefined) {
    for(key in objectToClone){
    clone[key] = cloneObject(objectToClone[key]);
    }
    } else { // we're an array or string
    clone = objectToClone.slice(0)
    for(i = 0; i < clone.length; i++) {
    clone[i] = cloneObject(clone[i]);
    }
    }
    } else { // we're a number or some other basic datatype
    clone = objectToClone;
    }
    return clone;
    }