Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript方括号表示法重新排列对象中的值_Javascript - Fatal编程技术网

使用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。。。成功了。非常感谢。我的想法不是“改名”,而是“重新安排”。