我有这个对象:
servicesSelected: {
spw: {
sku: "XYZ"
}
}
我需要让它看起来像这样:
servicesSelected: {
XYZ: {
sku: "XYZ"
}
}
到目前为止我做了什么:
myVar = servicesSelected.spw.sku //stores "XYZ" as myVar
这是我无法得到它的地方。以下不起作用。我不能使用常规的点符号,因为它不支持插入变量,对吧?
newObject = ["servicesSelected"][myVar]sku[myVar]
答案 0 :(得分:0)
试试这个:
var newObject = new Object();
newObject["servicesSelected"][myVar]["sku"] = myVar;
Javascript支持使用双方括号进行对象属性查询,以及动态生成属性。在这种情况下,您可以使用newObject.servicesSelected[myVar].sku
进行查询。
答案 1 :(得分:0)
仅供参考,这是我最终使用的方法:
myVar = servicesSelected.spw.sku // myVar is assigned "XYZ"
然后......
servicesSelected[myVar] = servicesSelected["spw"];
这创建了:
servicesSelected: {
spw: {
sku: "XYZ"
},
XYZ: {
sku: "XYZ"
}
}
下一步:
delete servicesSelected["spw"];
创建:
servicesSelected: {
XYZ: {
sku: "XYZ"
}
}