javascript - 替换 Javascript 字符串数组中的最后一个字母

标签 javascript arrays string substr

我需要执行以下操作:

我有一个包含姓氏的字符串数组。其中一些以字母“i”结尾。

manLastNames = ["testowski","bucz","idzikowski","gosz"];

我需要创建一个函数来迭代这个字符串数组,如果有一个以“i”结尾的元素,我需要用“a”替换这个“i”,否则就保留字符串不变。

最后我想要另一个数组,其中所有最后的“i”都替换为“a”。

womanLastNames = ["testowska","bucz","idzikowska","gosz"];

这就是我现在所拥有的,但我很确定它在某个时候开始变得糟糕

    var rep = function() {
  var manLastNames = ["testowski","bucz","idzkowski","gosz"];
  var womanLastNames = new Array(4);


  for (var i=0; i<manLastNames.length; i++) {
    var lastName = manLastNames[i];
    if (lastName.substr(lastName.length - 1, 1) == 'i') {
        lastName = lastName.substr(0, lastName.length - 1) + 'a';
  }
  }

  for (var i=0; i<womanLastNames.length; i++) {
    womanLastNames[i] = lastName[i];

  }

  console.log(womanLastNames);
}
rep();

最佳答案

尝试代码:

var manNames =  ["testowski","bucz","idzkowski","gosz"];
var womanNames = manNames.map(function(name) { 
    return name.endsWith("i") ? name.slice(0, -1) + "a" : name; 
});
console.log(womanNames)

如果您的解释器支持 ES6,则以下内容等效:

names.map((name)=>name.endsWith("i") ? name.slice(0, -1) + "a" : name)

关于javascript - 替换 Javascript 字符串数组中的最后一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40680554/

相关文章:

javascript - 处理数组时出现未定义错误

python - 在 python 中使用 k 均值聚类提取质心?

python - 从动词列表中检索动词

c++ - 字符串下标是关联索引吗?

javascript - 使用 SQS 发送 json 并发布它

javascript - 使固定的 float 元素在 Firefox 和 Chrome 中平滑滚动

javascript - 如何使用 jquery 将数据属性附加到类

javascript - 如何在 Appcelerator 中安全下载文件?

php - 我可以将数组绑定(bind)到 PDO 查询中的 IN() 条件吗?

JavaScript GPA 计算器不读取用户输入