javascript - 在循环中使用数组替换字符串中的字符
问题描述
我有一个字符串,我想替换一些字符,这些字符在一个数组中。这是我的代码:
let arrayParam = [];
arrayParam.push('X');
arrayParam.push('Y');
arrayParam.push('Z');
let stringToFilter = 'Y0000000';
let stringFiltered;
for (let i = 0; i < arrayParam.length; i++) {
stringFiltered = stringToFilter.replace(arrayParam[i], '');
console.log(`array:${arrayParam[i]} stringFiltered:${stringFiltered}`);
};
这导致控制台:
element:A stringFiltered : Y0000000
element:B stringFiltered : 0000000
element:C stringFiltered : Y0000000
我不明白,我的 var 在循环之外声明,为什么它不记得更改?
解决方案
您还需要更新 stringToFilter。
for(let i=0 ; i < arrayParam.length; i++ ) {
stringFiltered = stringToFilter.replace(arrayParam[i], '');
console.log(`array:${arrayParam[i]} stringFiltered:${stringFiltered}`);
stringToFilter = stringFiltered;
}
推荐阅读
- python - 三引号字符串注释使简单的python程序崩溃
- java - Redis PubSub:连接超时
- javascript - 显示可以将自定义值传递到下一页的加载弹出窗口
- symfony - 这些数据选择器有什么问题?
- java - maven 将项目定义为 jar
- c++ - 提升 static_vector 不是 std::is_trivially_destructible
- javascript - 选择整个元素时,focusNode 返回 undefined
- node.js - 为 http-proxy-middleware 指定代理
- kubernetes - 在 Kubernetes 中为入口/出口使用静态 IP
- selenium - Xpath 定位器到 chekboks