Javascript 如何替换数组中项目中的单个字符?

Javascript 如何替换数组中项目中的单个字符?,javascript,arrays,Javascript,Arrays,我已经涉猎这个问题一段时间了,我很困惑。所以我有这个数组 姓名=[“蕨类植物”、“亚历山大”、“康斯坦斯”、“丹妮拉”、“康妮”、“弗洛拉”、“汉娜”、“玛蒂”] 我想把名字的第一个字母改为“b”,然后返回整个东西,而不完全破坏Ex的名字:它将是“Bern”,而不是“Fern” 有人能帮忙吗。我自己尝试过很多不同的方法和策略,我想不出来。请帮忙 谢谢这应该行得通 let names=[“蕨类植物”、“亚历山大”、“康斯坦斯”、“丹妮拉”、“康妮”、“弗洛拉”、“汉娜”、“玛蒂”]; 让modi

我已经涉猎这个问题一段时间了,我很困惑。所以我有这个数组 姓名=[“蕨类植物”、“亚历山大”、“康斯坦斯”、“丹妮拉”、“康妮”、“弗洛拉”、“汉娜”、“玛蒂”]

我想把名字的第一个字母改为“b”,然后返回整个东西,而不完全破坏Ex的名字:它将是“Bern”,而不是“Fern”

有人能帮忙吗。我自己尝试过很多不同的方法和策略,我想不出来。请帮忙

谢谢

这应该行得通

let names=[“蕨类植物”、“亚历山大”、“康斯坦斯”、“丹妮拉”、“康妮”、“弗洛拉”、“汉娜”、“玛蒂”];
让modified=names.map(e=>e.replace(e[0],'B'))

控制台日志(修改)使用for of循环迭代以访问每个项,然后应用replace方法

var name=[“蕨类植物”、“亚历山大”、“康斯坦斯”、“丹妮拉”、“康妮”、“弗洛拉”、“汉娜”、“玛蒂”];
var newNames=[];
为了(让我说出名字){
newNames.push(el.replace(el[0],'B'));
}

console.log(新名称)映射
切片
和模板字符串对进行编码

const data=[“蕨类植物”、“亚历山大”、“康斯坦斯”、“丹妮拉”、“康妮”、“弗洛拉”、“汉娜”、“玛蒂”];
常量更新=(arr,char)=>arr.map(str=>`${char}${str.slice(1)}`);

日志(更新(数据“B”)您说过您只想更改名字的第一个字母,而不想更改原始名称数组

首先,克隆阵列:
namesClone=names.slice()

如果不使用
slice
,则具有相同数据的不同变量名的
名称
名称克隆
,因此更改为其中一个将影响另一个

访问名字并将其设置为“B”+其他名称:
namesClone[0]=“B”+namesClone[0]。切片(1)

slice(1)
返回从字符1到结尾的所有内容,不包含字符0(在您的示例中为“F”)


names
未更改。

names.map(k=>k.replace(k[0],'B'))
如果这是您需要的,请告诉我。谢谢您的发布。它是如何工作的,看起来像是您使用了一个箭头函数。在JavaScript中,
字符串
是类似于数组的对象,因为我们必须替换取下的第一个字符
[0]
位置,并使用
映射
生成新数组。非常感谢您的发布,但您能帮我解释一下let modified line,这是匿名函数吗?检查一下,它将帮助您理解map函数和返回值map函数在每个元素上循环并运行提供给它的函数,这里(e=>e.replace(e[0],'B'))等于(函数(e){returne e.replace(e[0],'B');}在ES5中,谢谢你的发帖。你能告诉我你是怎么做到的吗?我看到你有一个for循环,但是什么是(el.replace(el[0],'B'))这是什么方法?for of循环迭代数组的每个元素(对于名称的每个el),数组的每个元素都是一个字符串,然后应用replace方法=>每个元素的第一个字(el)替换为“B”。这是否回答了您的问题/帮助了您?如果是,请选择并向上投票-谢谢!