Javascript 如何修改数组元素?

Javascript 如何修改数组元素?,javascript,ecmascript-6,Javascript,Ecmascript 6,我有标签,它是一个数组。我想将Catch&Bowled替换为Catch&Bowled类似地run替换为run 我尝试的是遍历数组并替换那个特定的字符串 代码: let labels=Object.key(wickets) 这是因为字符串的比较是区分大小写的,请尝试以下操作 if(labels[i].toLowerCase() === "catch & bowled".toLowerCase()) 如果要检查字符串值是否相等,最好将两个字符串字符转换为同一大小写。如本例中所示,两个字符串

我有
标签
,它是一个数组。我想将
Catch&Bowled
替换为
Catch&Bowled
类似地
run
替换为
run

我尝试的是遍历数组并替换那个特定的字符串

代码:


let labels=Object.key(wickets) 这是因为字符串的比较是区分大小写的,请尝试以下操作

if(labels[i].toLowerCase() === "catch & bowled".toLowerCase())

如果要检查字符串值是否相等,最好将两个字符串字符转换为同一大小写。如本例中所示,两个字符串都转换为小写字符字符串。

每当需要比较字符串时,总是保存以供使用

labels[i].toUpperCase() == 'catch & bowled'.toUpperCase()

.toUpperCase()
将字符串转换为大写,如果使用
.toLowerCase()

的话,最后两个字符串都是大写或小写,因为JavaScript是区分大小写的,所以===语句永远不会通过匹配要匹配的实际字符串来生成真正的匹配。你明白“区分大小写”是什么意思吗?e、 g.
if(标签[i]==='catch&bowled')
需要变成
if(标签[i]=='catch&bowled')
,因为
'catch&bowled'
不等于
'catch&bowled'
-一个使用大写字母,一个不使用。这当然很明显??您需要将其设置为使要比较的字符串与数组中的字符串匹配…包括正确匹配字母的大小写。请参阅上面我编辑的评论或下面的答案。他们中的任何一个都会做这项工作。对重复的投票不会投反对票…对重复的投票会投反对票。将鼠标悬停在“否决票”按钮上,查看给出否决票的原因。我没有投反对票,但我可以理解为什么人们可能会认为你可以尝试(尽管它可能只是在内部使用循环,我不知道)。顺便说一句,你真的可以自己做这种基础研究,你在这里没有面临新的或未发现的问题如果我有100个元素,如果我只想更改2或3个字符串,那么在整个数组上循环是没有效率的,可以使用任何其他技术?@stonerock我认为这种方法是有效的,因为最坏情况下的时间复杂度是O(n),其中n是数组的大小。
labels[i].toUpperCase() == 'catch & bowled'.toUpperCase()