我有labels
,它是一个数组。我想将Catch & Bowled
替换为Caught & Bowled
,将run
替换为Run Out
。
我尝试的是遍历数组并替换该特定字符串。
代码:
let labels = Object.keys(wickets); <--- wickets array of objects of type let
console.log(labels);
for(var i=0;i<labels.length;i++){
if(labels[i] === 'catch & bowled'){
labels[i] = 'Caught & Bowled';
}else if(labels[i] === 'run'){
labels[i] = 'Run Out'
}
}
当我再次console.log(labels)
时,为什么不修改它们?
屏幕截图:
答案 0 :(得分:3)
因为字符串比较是js区分大小写,请尝试以下
if(labels[i].toLowerCase() === "catch & bowled".toLowerCase())
如果要检查字符串值的相等性,总比将两个字符串字符都转换为相同大小写要好。像本例一样,这两个字符串都转换为小写字母字符串。
答案 1 :(得分:3)
只要您想在字符串之间进行比较,总是可以节省使用
labels[i].toUpperCase() == 'catch & bowled'.toUpperCase()
.toUpperCase()
将字符串转换为大写,如果使用.toLowerCase()