将字符串中的函数参数转换为对象中的参数
Convert function parameter in string into parameter in object
我正在使用 node.js。
我有一个函数可以这样调用;
add_row({location:'L1', row_name:'r1', value:'18.4'});
我有一个这样的字符串;
var str_param = "location:'L1', row_name:'r1', value:'18.4'";
我试图做这样的事情来保持我的代码简单;
add_row(str_param);
没用。用str_param
调用add_row
有什么好方法?
我认为这可能是您的问题:
{location:'L1', row_name:'r1', value:'18.4'} // Object
var str_param = "location:'L1', row_name:'r1', value:'18.4'"; // Not object
var str_param = "{location:'L1', row_name:'r1', value:'18.4'}"; // Object String
我不使用 Node JS,只是在黑暗中拍摄。如果没有,你可以像这样做函数:
function addRow(pLocation, pRowName, pValue) {
var row = {
location: pLocation,
row_name: pRowName,
value: pValue
}
// Logic ....
}
如果这不起作用,请尝试使用对象字符串并查看函数 ParseJSON,我相信它已被调用。
您可以将字符串转换为函数接受的对象。
function toObj(str) {
const a = str.split(/,.?/g);
return a.reduce((p, c) => {
const kv = c.replace(/'/g, '').split(':');
p[kv[0]] = kv[1];
return p;
}, {});
}
toObj(str); // { location: "L1", row_name: "r1", value: "18.4" }
我正在使用 node.js。
我有一个函数可以这样调用;
add_row({location:'L1', row_name:'r1', value:'18.4'});
我有一个这样的字符串;
var str_param = "location:'L1', row_name:'r1', value:'18.4'";
我试图做这样的事情来保持我的代码简单;
add_row(str_param);
没用。用str_param
调用add_row
有什么好方法?
我认为这可能是您的问题:
{location:'L1', row_name:'r1', value:'18.4'} // Object
var str_param = "location:'L1', row_name:'r1', value:'18.4'"; // Not object
var str_param = "{location:'L1', row_name:'r1', value:'18.4'}"; // Object String
我不使用 Node JS,只是在黑暗中拍摄。如果没有,你可以像这样做函数:
function addRow(pLocation, pRowName, pValue) {
var row = {
location: pLocation,
row_name: pRowName,
value: pValue
}
// Logic ....
}
如果这不起作用,请尝试使用对象字符串并查看函数 ParseJSON,我相信它已被调用。
您可以将字符串转换为函数接受的对象。
function toObj(str) {
const a = str.split(/,.?/g);
return a.reduce((p, c) => {
const kv = c.replace(/'/g, '').split(':');
p[kv[0]] = kv[1];
return p;
}, {});
}
toObj(str); // { location: "L1", row_name: "r1", value: "18.4" }