使用javascript方括号表示法重新排列对象中的值
我有一个物体:使用javascript方括号表示法重新排列对象中的值,javascript,Javascript,我有一个物体: servicesSelected: { spw: { sku: "XYZ" } } 我需要让它看起来像这样: servicesSelected: { XYZ: { sku: "XYZ" } } 到目前为止我所做的: myVar = servicesSelected.spw.sku //stores "XYZ" as myVar 这是我找不到的地方。下面的方法不起作用。我不能使用常规点符号,因为它不支持插入变量,对吗 newObject = [
servicesSelected: {
spw: {
sku: "XYZ"
}
}
我需要让它看起来像这样:
servicesSelected: {
XYZ: {
sku: "XYZ"
}
}
到目前为止我所做的:
myVar = servicesSelected.spw.sku //stores "XYZ" as myVar
这是我找不到的地方。下面的方法不起作用。我不能使用常规点符号,因为它不支持插入变量,对吗
newObject = ["servicesSelected"][myVar]sku[myVar]
试试这个:
var newObject = new Object();
newObject["servicesSelected"][myVar]["sku"] = myVar;
Javascript支持使用双方括号查询对象属性,以及动态生成属性。在这种情况下,您可以使用
newObject.servicesSelected[myVar].sku
FYI查询它。这是我最后使用的方法:
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"
}
}
可能重复的ohhh。。。成功了。非常感谢。我的想法不是“改名”,而是“重新安排”。