gpt4 book ai didi

javascript - 在javascript中使用正则表达式和replace()替换数组元素

转载 作者:行者123 更新时间:2023-12-03 07:18:04 24 4
gpt4 key购买 nike

我对 JavaScript 有点陌生,我正在尝试使用与字符串匹配的正则表达式替换数组元素,这是我尝试过的代码

<button onclick="myFunction()">ClickHere</button>
<p id="demo"></p>
<script>
function myFunction() {
var abc = ["deno", "eno","pqr","lenovo"];
var i,text;
for(i = 0; i < abc.length; i++) {
text += abc[i].replace(/no/i, "po");
document.getElementById("demo").innerHTML = text;
}
}
</script>

我想用“po”替换数组元素在数组元素字符串中遇到“no”的地方。

这就是我所期望的:

abc["depo","epo","pqr","lepovo"]

最佳答案

您可以对每个元素执行此操作:

for(var i=0; i < abc.length; i++) {
abc[i] = abc[i].replace('no', 'po');
}

或使用一行

abc = abc.map(function(x){return x.replace('no', 'po');});

或使用一行“箭头函数”:

abc = abc.map(x => x.replace('no', 'po'));

更改数组后,可以使用以下方法将其转换为字符串:

var text = 'abc['; 

for ( var i = 0 ; i < abc.length ; i++ ) {
text+='\"'+abc[i]+'\"';
if ( i != abc.length - 1) {
text+=',';
}
}
text += ']';

测试:

function myFunction() {
var abc = ["deno", "eno","pqr","lenovo"];
abc = abc.map(x => x.replace('no', 'po')); // see other 2 alternatives above

var text = 'abc[';

for ( var i = 0 ; i < abc.length ; i++ ) {
text+='\"'+abc[i]+'\"';
if ( i != abc.length - 1) {
text+=',';
}
}
text += ']';
document.getElementById("demo").innerHTML = text;
}
<button onclick="myFunction()">ClickHere</button>
<p id="demo"></p>

关于javascript - 在javascript中使用正则表达式和replace()替换数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36326530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com