Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.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_Object - Fatal编程技术网

Javascript 给定一个对象数组,如何用另一个替换键名,同时保留原始键的值?

Javascript 给定一个对象数组,如何用另一个替换键名,同时保留原始键的值?,javascript,object,Javascript,Object,我试图获取一个对象数组,在不改变原始数组的情况下,重命名每个对象中的一个特定键 我创建了一个新变量,并将其分配给在原始数组中使用“map”的结果(以避免变异)。 在“map”方法中,我尝试解构“keyToChange”参数,并将其余值分散到“newKey”中 const renameKeys = (array, keyToChange, newKey) => { const spreadArray = array.map(({keyToChange: newKey, ...rest})

我试图获取一个对象数组,在不改变原始数组的情况下,重命名每个对象中的一个特定键

我创建了一个新变量,并将其分配给在原始数组中使用“map”的结果(以避免变异)。 在“map”方法中,我尝试解构“keyToChange”参数,并将其余值分散到“newKey”中

const renameKeys = (array, keyToChange, newKey) => {
  const spreadArray = array.map(({keyToChange: newKey, ...rest}) => ({newKey, ...rest}));
    return spreadArray;
   };
上面的代码返回
'newKey:[未定义]”
后跟原始对象数组


任何帮助都将不胜感激。

如果您想更改表达式,请在其周围使用方括号
[]

const renameKeys = (array, keyToChange, newKey) => {
  const spreadArray = array.map(({[keyToChange]: newKey, ...rest}) => ({newKey, ...rest}));
    return spreadArray;
};
您需要一个而不是一个(未给定)属性
keyToChange

const spreadArray = array.map(({ [keyToChange]: newKey, ...rest }) => ({ newKey, ...rest }));
//                               ^^^^^^^^^^^^^

如果要使用动态值作为键,请使用方括号表示法。 */

 const spreadArray = array.map(({ [keyToChange]: newKey, ...rest}) => ({newKey, ...rest}));