更改js关联数组中的键

Mat*_*son 14 javascript

如果我有:

var myArray = new Array();

myArray['hello'] = value;
Run Code Online (Sandbox Code Playgroud)

如何将密钥"hello"更改为其他内容?

像这样的东西会起作用.

var from = 'hello',
    to   = 'world',
    i, value = myArray[from];

for( i in myArray )
  if( i == from ) myArray.splice( i, 1 );

myArray[to] = value;
Run Code Online (Sandbox Code Playgroud)

但是有没有本地功能或更好的方法呢?

编辑:

由于js中缺少关联数组,我想要做的是尽可能有效地修改对象的属性名称.

KAR*_*ván 31

在JavaScript中没有关联数组这样的东西.可以使用对象:

var myHash = new Object();
Run Code Online (Sandbox Code Playgroud)

要么

var myHash = {};
Run Code Online (Sandbox Code Playgroud)

替换可以这样做:

myHash["from"] = "value";
myHash["to"] = myHash["from"];
delete myHash["from"];
Run Code Online (Sandbox Code Playgroud)

但是写它的首选方式:

myHash.from = "value";
myHash.to = myHash.from;
delete myHash.from;
Run Code Online (Sandbox Code Playgroud)

  • 如果你想更多地了解javascript中的删除,这是一篇非常有用的文章:http://perfectionkills.com/understanding-delete/. (2认同)