用JS中的另一个字符替换对象数组中的特定字符
Replace specific character from an Array of objects with another character in JS
我正在尝试用空格 space 或破折号“-”替换字符“/”,但我似乎无法弄清楚如何。我已经尝试了一些我在这里找到的答案,但它 returns 相同的字符串。我有两组数组。
设置 A:元素 = ["String1", "String2", "String3/"]
set B 从 A 获取 s 字符串的每个字符进行评估,如果找到“/”则替换。
for(var i=0; i< elements.length; i++){
arrayV = elements[i].value;
for (var j=0; j <= arrayV.length; j++) {
if(arrayV.charAt(j) === '/'){
arrayV[j] = "-";
}
}
elements[i]= arrayV;
}
我就是这样解决的(我今天学到了一些东西):
var elements = document.getElementsByName("inputCont");
for(var i=0; i< elements.length; i++){
var rString = elements[i].value;
rString = rString.replace('/','-');
elements[i].value = rString;
}
在这个例子中我使用函数map() to create a new array and replace()来替换字符。
var elemnts = ["String1", "String2", "String3/"];
var result = elemnts.map(str => str.replace('/','-'));
console.log(result);
更新
好的,我错过了关于选择输入元素的部分。您可以将 elements
“投射”为数组,然后使用 map()
:
对其进行迭代
var elements = document.getElementsByName("inputCont");
var result = [...elements].map(elm => elm.value.replace('/', '-'));
console.log(result);
<form name="form01">
<input type="text" name="inputCont" value="String" />
<input type="text" name="inputCont" value="String" />
<input type="text" name="inputCont" value="String/" />
</form>
我正在尝试用空格 space 或破折号“-”替换字符“/”,但我似乎无法弄清楚如何。我已经尝试了一些我在这里找到的答案,但它 returns 相同的字符串。我有两组数组。
设置 A:元素 = ["String1", "String2", "String3/"] set B 从 A 获取 s 字符串的每个字符进行评估,如果找到“/”则替换。
for(var i=0; i< elements.length; i++){
arrayV = elements[i].value;
for (var j=0; j <= arrayV.length; j++) {
if(arrayV.charAt(j) === '/'){
arrayV[j] = "-";
}
}
elements[i]= arrayV;
}
我就是这样解决的(我今天学到了一些东西):
var elements = document.getElementsByName("inputCont");
for(var i=0; i< elements.length; i++){
var rString = elements[i].value;
rString = rString.replace('/','-');
elements[i].value = rString;
}
在这个例子中我使用函数map() to create a new array and replace()来替换字符。
var elemnts = ["String1", "String2", "String3/"];
var result = elemnts.map(str => str.replace('/','-'));
console.log(result);
更新
好的,我错过了关于选择输入元素的部分。您可以将 elements
“投射”为数组,然后使用 map()
:
var elements = document.getElementsByName("inputCont");
var result = [...elements].map(elm => elm.value.replace('/', '-'));
console.log(result);
<form name="form01">
<input type="text" name="inputCont" value="String" />
<input type="text" name="inputCont" value="String" />
<input type="text" name="inputCont" value="String/" />
</form>