为什么.replace不能在.map中工作

时间:2018-05-16 18:01:01

标签: javascript regex dictionary replace

我有一个正则表达式,我用来替换两个转义字符。我可以通过直接访问它们来替换它们,但不能使用map函数。有人可以解释一下我的误解吗?

var entry = [ '\n000087',
  '1',
  '000055555',
  'admin',
  '1',
  '0',
  '2018/07/06',
  '08:53:14\t' ];

entry = entry.map((item)=>{
    return item.replace('/\\(?:[a-z])/g','');
});
console.log(entry);//does not remove \n or \t
console.log(entry[0].replace('/\\(?:[a-z])/g','')); // does remove \n

1 个答案:

答案 0 :(得分:0)

试试这段代码。正如人们所提到的,你没有使用正确的正则表达式语法。我的代码只删除了换行符和标签。

var entry = [ '\n000087',
  '1',
  '000055555',
  'admin',
  '1',
  '0',
  '2018/07/06',
  '08:53:14\t' ];

entry = entry.map((item)=>{
    return item.replace(/[\t\n]+/g,'');
});