在运行时使用预先确定的对象分配变量
Assigning variables at runtime with pre-determined objects
我有以下对象:
var myObj =
{
prop1 : 'val',
prop2 : 'val'
},
hisObj =
{
prop1 : 'val',
prop2 : 'val'
},
herObj =
{
prop1 : 'val',
prop2 : 'val'
};
现在我运行一个 ajax 调用并返回 3 组数据作为数组。这些数组中每个数组的键等于:my
、his
和her
。
如何将正确的对象分配给处理 ajax 响应的函数中的私有变量。我尝试了这个开始:
function ajax_callback(data)
{
$.each( data, function( key , value )
{
var options = key + 'Obj';
...
});
};
在这种情况下,var options
正确地属于 string
型。我将如何动态创建变量options
以包含正确的对象而不是其名称的字符串表示形式?
我不确定你在这里想实现什么。但是您可能需要在另一个对象中"命名空间"您的对象。怎么样:
var obj = {
her: {
prop1: 'val',
prop2: 'val'
},
his: {
prop1: 'val',
prop2: 'val'
}
/// etc
function ajax_callback(data) {
$.extend( obj, data ); // merge the data with the previously defined object
});
或者,如果要根据响应键从对象中提取条目:
function ajax_callback(data) {
$.each( obj, function( key, val {
var options = obj[key];
});
});
将变量放入对象中,然后使用键作为索引:
var parentObj =
myObj: {
prop1 : 'val',
prop2 : 'val'
},
hisObj: {
prop1 : 'val',
prop2 : 'val'
},
herObj: {
prop1 : 'val',
prop2 : 'val'
}
};
function ajax_callback(data) {
$.each( data, function( key , value ) {
var options = parentObj[key];
...
}
}
相关文章:
- 为什么在Javascript中将一个对象分配给另一个变量也会更改初始对象
- 在运行时使用预先确定的对象分配变量
- Javascript对象分配gottcha
- 通过程序将对象分配给数组
- AngularJS-对象分配不起作用
- 在PHP中为JSON对象分配标识符/名称
- 对象分配在此angularjs控制器中不起作用
- 对象分配 - 更新特定属性
- 将对象分配给另一个对象并保留原始数据
- ES6 对象分配部分项
- 为每个对象分配一个键
- 将函数中的对象分配给变量或调用 setState 没有这个
- 按对象数组中的值为对象分配等级
- 为什么将其他对象分配给内置对象(例如文档、窗口)没有意义
- 将FileReader内部的结果对象分配给变量
- 为Javascript对象分配函数
- Javascript对象分配'他奇怪的行为
- 了解在 JavaScript 中为对象分配函数
- 为CanvasXpress的Json对象分配Javascript数组值
- 只需使用Immutable.js将对象分配给变量,即可克隆新对象