-1

我有一个函数 ,SWFUpload_config它接受一个参数post_params_arr- 一个对象。

post_params_arr = {"ajaxtask":"swfupload_files", "param": "2012"}

我需要解析它post_params_arr并通过以下方式动态添加键和值swfu_settings(请注意,swfu_settings 默认具有'SWFSESSID':session_id 和所有其他键:必须从 post_params_arr 添加):

function SWFUpload_config (post_params_arr) {
    var swfu_settings = {
        'SWFSESSID' : session_id,
        'ajaxtask' : 'swfupload_files',
        'param' : '2012'
    };
}

我怎样才能做到这一点?post_params_arr我将如何在swfu_settings我分配键和值的地方解析?

4

1 回答 1

0

与您访问任何其他对象的方式相同...

var swfu_settings = {
    ajaxtask: post_params_arr.ajaxtask,
    param: post_params_arr.param
};

或者你的意思是它是JSON?如果您有 jQuery,请使用jQuery.parseJSON;解析它 否则,使用JSON.parse并依靠eval('(' + post_params_arr + ')').


如果出于某种原因需要对对象进行浅克隆,则for in循环将起作用:

var swfu_settings = {
    SWFSESSID: 'blah'
    // etc.
};

for(var x in post_params_arr) {
    if(post_params_arr.hasOwnProperty(x)) {
        swfu_settings[x] = post_params_arr[x];
    }
}
于 2012-07-05T16:00:43.603 回答