使用正则表达式重命名对象数组的键

sle*_*ing 11 javascript regex

我有一个对象数组.每个对象都有很多键(超过100个),其中一些键可以有我想删除的特殊字符.

我试着用这种方式做我想做的事:

const result = data.map(datum => {
  const keys = Object.keys(datum)
  const replacedKeys = keys.map(key => {
    const newKey = key.replace(/[.|&;$%@%"<>+]/g, '')
  })
  // ??
})
Run Code Online (Sandbox Code Playgroud)

但我确信这不是正确的方式..

Nin*_*olz 5

您可以使用新键映射新对象并​​使用创建单个对象Object.assign.

const result = data.map(datum => Object.assign(...Object
    .keys(datum)
    .map(key => ({ [key.replace(/[.|&;$%@%"<>+]/g, '')]: datum[key] }))
));
Run Code Online (Sandbox Code Playgroud)