使对象中的对象成为一个对象javascript
Make object of objects one object javascript
我有一个对象,它的一些元素也是对象。如何使我的变量仅为一个对象?
我的意思是,我有一个包含元素的变量:
- 名称
- 类型
类型是一个具有字段的对象:
- 名称
所以我认为:
- 名称
- type.name(不是作为一个对象,而是作为类似名称的另一个变量(
PS:当我用Firebug检查我的变量时:
name
"fsfaf"
password
"242342425"
name
"XXX"
type
Object { name="sds"}
name
"sfs"
让我们假设我用一个变量myVariable
来保持它。我想做这样的事情:
var newVariable = somefunction(myVariable);
所以我的newVariable应该是这样的:
name
"fsfaf"
password
"242342425"
name
"XXX"
type.name
"sds"
name
"sfs"
我也编辑了我的答案。这里有一种做你想做的事的方法:
var myVar =
{
name: 'myName',
type: { name: 'type.name' }
}
function varToNewVar(myVar)
{
var newVar = {};
for(var i in myVar)
{
if(typeof myVar[i] === 'object')
{
for(var j in myVar[i])
{
newVar[i+'.'+j] = myVar[i][j];
}
}
else
newVar[i] = myVar[i];
}
return newVar;
}
var newVar = varToNewVar(myVar);
然而,通过这种方式,您不能访问newVar.type.name,您可以访问newVar['type.name'],我想这对您想要实现的目标来说是可以的。。。
附言:在应用到实时项目之前进行广泛的测试,等等。我想很多事情都可能出错,这取决于你使用的对象。在您想要的情况下使用它应该没有问题,尽管
var o = {
"name": "my_name",
"type.name": "type's name"
}
说真的,什么?你到底想要什么?
function IAmAUselessHack(o) {
o["type.name"] = o.type.name;
}
相关文章:
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 对一个对象使用reduce可以返回一个没有't在数组中包含目标字母
- AngularJS&JSON-从Previous&下一个对象
- jQuery$.inArray()总是返回-1和一个对象数组
- javascript处理一个对象数组以获得一个新的对象数组
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 你能用来自数组的属性名称生成一个对象吗
- 预期响应包含一个对象,但在angular js中得到一个数组错误
- Protractor:element.getText()返回一个对象,而不是String
- 如何使用jQuery添加另一个对象的高度作为边距
- 计算从一个对象到另一个对象的路径并沿其移动
- 如何将一个对象添加到每个对象数组中
- 为了避免创建全局变量,可以将所有变量分配给一个对象吗
- 将javascript对象(属性+值)合并到一个对象中
- 尝试简化检查对象键是否为true并将其推送到另一个对象
- 从 javascript 中的对象方法返回一个对象
- 响应应包含一个对象,但得到的却是GET操作的数组
- js:如何制作一个循环,将20个不同的东西添加到一个对象中
- 用javascript创建另一个对象的实例