如果我有:

var myArray = new Array();

myArray['hello'] = value;

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

这样的事情会起作用。
var from = 'hello',
    to   = 'world',
    i, value = myArray[from];

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

myArray[to] = value;

但是,是否有本机功能或更好的方法呢?

编辑:

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

最佳答案

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

var myHash = new Object();

要么
var myHash = {};

替换可以这样完成:
myHash["from"] = "value";
myHash["to"] = myHash["from"];
delete myHash["from"];

但首选的编写方式是:
myHash.from = "value";
myHash.to = myHash.from;
delete myHash.from;

10-08 19:14