如何在javascript中选择对象的子集
我有一个javascript对象,比如说oBj,有很多属性,如何在javascript中选择对象的子集,javascript,jquery,Javascript,Jquery,我有一个javascript对象,比如说oBj,有很多属性,oBj.att1,oBj.att2。。。目标收件人 我可以将这个对象传递到jQuery的param函数中,以快速创建URI 是否可以选择oBj.att1和oBj.att2并将其传递给param函数 请原谅,我对Javascript非常缺乏经验 更新: 代码示例: var oBj = new Object(); oBj.att1 = 1; oBj.att2 = 2;
oBj.att1,oBj.att2。。。目标收件人
我可以将这个对象传递到jQuery的param函数中,以快速创建URI
是否可以选择oBj.att1
和oBj.att2
并将其传递给param函数
请原谅,我对Javascript非常缺乏经验
更新:
代码示例:
var oBj = new Object();
oBj.att1 = 1;
oBj.att2 = 2;
oBj.att3 = 3;
对!!当然
我发现最简单的方法是使用一个名为“lodash”(或“下划线”)的第三方库。包含库后,您可以:
_.pick(oBj, ['attr1', 'attr2'])
见:
但如果您不想使用第三方库,则可以:
var oBj={
"a":1,,
“b”:2,
c:3
};
变量选择=功能(对象、属性){
返回属性reduce(函数(结果、键){
结果[键]=对象[键];
返回结果;
}, {});
};
log(pick(oBj,['a','c'])代码>您尝试过什么,希望实现什么?一个代码示例会很有用给我几分钟的时间来处理它。我将更新…您使用的jQuery也是domasz,jQuery只是$.param(oBj);建议一个完整的库或一个pick函数来访问2个Javascript属性,这看起来太过分了。。至少你更新了,所以这不是图书馆唯一的答案…太好了。非常感谢。
// lets say you have function
function process_data(data )
{
// logic goes here
}
// this may be you json object
var json_data = {
"obj1": {....} ,
"obj2": {....} ,
"obj3": {....} ,
.
.
.
"obj1": {....} ,
}
//create new object with required attributes
var new_obj = {}
new_obj["obj1"] = json_data["obj1"]
new_obj["obj2"] = json_data["obj2"]
// pass to function
process_data(new_obj)