no cambiar un nombre de clave. Puede asignar un nuevo nombre/valor de clave y luego eliminar la clave anterior si lo desea. En su ejemplo:
var arrayObj = [{key1,'value1', key2:'value2'},{key1,'value1', key2:'value2'}];
var o = arrayObj[0]; // get first object
var val = o.key1; // get current value
o.stroke = val; // assign to new key
delete o.key1; // remove previous key
si se quería hacer eso por todos los objetos de la matriz principal, se acaba de poner esto en un bucle que itera sobre el contenido de la matriz. He puesto más tareas intermedias aquí de las necesarias solo para documentar lo que está sucediendo.
O una versión abreviada en un bucle:
for (var i = 0; i < arrayObj.length; i++) {
var o = arrayObj[i];
o.stroke = o.key1;
delete o.key1;
}
Puedes verlo aquí: http://jsfiddle.net/Paulpro/XVxvy/2/ Alerta "indefinido" y luego "value1" – Paulpro
Gracias por la solución, pero ¿qué ocurre si el objeto está con la tecla dinámica? como: var arrayObj = [{abcKey, 'value1', acdKey: 'value2', defKey: 'value3', cfgKey: 'value4'}]; – Dhaval