小编Mar*_*rko的帖子

拼接不删除某些字符

我正在研究一些代码问题,我来到这个'去除噪音的事情',我想重点是逃避反斜杠\并使用替换方法,这很容易.但我不想使用替换,而是发现自己在尝试使用拼接方法删除项目时遇到了麻烦.

有趣的是,当我在Chrome开发工具中调试时,我一步一步地看到项目被删除,但是console.log吐出某些字符($ /·|ªl)有问题要删除,最后返回并加入那些字符.这是为什么?

function removeNoise(str) {
  var base = "%$&/#·@|º\ª";
  var arr = str.split('');

  for(var i = 0; i < arr.length; i++) {
    var item = arr[i];
    var condition = base.indexOf(item);
    if(condition + 1) {
      //works like a charm
      //arr[i] = '';

      arr.splice(i,1); 
      //this thing wont work
      //when debugging it removes the items from the array
      //console log print no removing
    }
  }
  return arr.join(''); 
}

removeNoise('he%$&/#·@|º\ª\llo'); //=> $/·|ªllo
Run Code Online (Sandbox Code Playgroud)

javascript

2
推荐指数
1
解决办法
75
查看次数

标签 统计

javascript ×1