Javascript 替换数组中的字符串
我需要替换数组中的字符串。现在我正在使用一个Javascript 替换数组中的字符串,javascript,arrays,string,Javascript,Arrays,String,我需要替换数组中的字符串。现在我正在使用一个forEach-循环和一个开关,这感觉不是很优雅: let result = []; source.forEach(el => { switch (el) { case 'replace': result.push('with this'); break; case ...: ...; default: result.p
forEach
-循环和一个开关,这感觉不是很优雅:
let result = [];
source.forEach(el => {
switch (el) {
case 'replace':
result.push('with this'); break;
case ...:
...;
default:
result.push(el);
}
});
return result.join(',');
我想得到的是用另一个字符串替换元素,或者如果不匹配,则使用原始字符串
源阵列有50个元素,替换阵列有30个元素。如果需要对阵列进行一对一操作,则首选.map
功能:
return source.map(el => el === 'replace' ? 'with this' : el).join(',');
编辑我看到您已经更新了问题,实际上您有30个不同的字符串要替换。在这种情况下,您应该使用预先填充了“before”和“after”字符串的映射
:
IIFE用于确保一次性初始化映射
,并且在映射
上关闭的返回函数被分配给replaceFunc
> replaceFunc(['replace']);
"with this"
这是另一种选择
var result = source.map(function (e) {
return e === 'replace' ? 'with this' : e;
});
var-sample=[“aaa”、“bbb”、“replaceMe”、“ccc”、“ddd”];
var result=sample.map(函数(ele,inx){
如果(ele==“replaceMe”){
返回“newText”;
}否则{
返回ele;
}
});
控制台日志(结果)代码>如下,制作替换示例:-
String originalString = "hello";
String newString = originalString.replace('E', 'x');
System.out.println( newString );
立即参考-这个问题是关于JavaScript的,不是关于Java的!newmap()
部分对我不起作用。但我不明白为什么。我没有得到一个错误,但是我也没有得到任何输出。不是replace.get(el)
需要索引吗?它在Chrome54上对我有效(我假设你使用的是现代浏览器或解释器,因为你在问题中使用了ES6箭头语法)。replace.get()
的参数只是键,因此在本例中是源数组中的一个单词。
String originalString = "hello";
String newString = originalString.replace('E', 'x');
System.out.println( newString );