用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>