我需要执行以下操作:
我有一个包含姓氏的字符串数组。其中一些以字母“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/