Since it took me 3 hours to figure out why this doesn't work and I
could not find any other post on the subject, here is one way to do a
deep copy of a JavaScriptObject using JSNI.

public static final native JavaScriptObject deepCopy(JavaScriptObject
obj) /*-{
  if (Object.prototype.toString.call(obj) === '[object Array]') {
    var out = [], i = 0, len = obj.length;
    for ( ; i < len; i++ ) {
      out[i] = arguments.callee(obj[i]);
    }
    return out;
  }
  if (typeof obj === 'object') {
    var out = {}, i;
    for ( i in obj ) {
      if (i != "__gwt_ObjectId") {
        out[i] = arguments.callee(obj[i]);
      }
    }
    return out;
  }
  return obj;
}-*/;

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to