首页 > 解决方案 > ReferenceError:使用“+=”时分配中的左侧无效

问题描述

我正在尝试解决 Codewars 上的以下 kata:Strip Comments。我认为这是非常合法的代码,但我收到以下错误:

ReferenceError:分配中的左侧无效

对于这部分:(reg += "\\" += item += "|";第 6 行)

这是我的代码:

function solution(input, markers) {
  var arr = input.split("\n");
  var reg = "(";
  markers.forEach(function(item, index){
  if (!(index == markers.length)){
  reg += "\\" += item += "|";
  } else {reg += "\\" += item += ")";}
  })
  reg += ".*";
  var regex = new RegExp(reg);
  arr.forEach(function(item){
  item.replace(regex, "");
  })
  var ret = arr.toString();
  ret.replace(/\,/g, "\n");
  return ret;
};

标签: javascriptvariable-assignmentreferenceerror

解决方案


+=不能在字符串之间使用。使用连接项目+

function solution(input, markers) {
    var arr = input.split("\n");
    var reg = "(";
    markers.forEach(function(item, index){
    if (!(index == markers.length)){
    reg += "\\" + item + "|";
    } else {reg += "\\" + item + ")";}
    })
    reg += ".*";
    var regex = new RegExp(reg);
    arr.forEach(function(item){
    item.replace(regex, "");
    })
    var ret = arr.toString();
    ret.replace(/\,/g, "\n");
    return ret;
  };


推荐阅读