JSオブジェクトのコピー

2084 ワード

CSSCommonJS.DeepCopy = function (json) {

    if (typeof json == 'number' || typeof json == 'string' || typeof json == 'boolean') {

        return json;

    } else if (typeof json == 'object') {

        if (json instanceof Array) {

            var newArr = [], i, len = json.length;

            for (i = 0; i < len; i++) {

                newArr[i] = arguments.callee(json[i]);

            }

            return newArr;

        } else {

            var newObj = {};

            for (var name in json) {

                newObj[name] = arguments.callee(json[name]);

            }

            return newObj;

        }

    }

}



      :http://www.jb51.net/article/39580.htm