代码之家  ›  专栏  ›  技术社区  ›  stone rock

如何修改数组元素?

  •  -1
  • stone rock  · 技术社区  · 6 年前

    我有 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) 它们没有被修改为什么?

    截图:

    enter image description here

    2 回复  |  直到 6 年前
        1
  •  3
  •   amrender singh    6 年前

    因为字符串的比较是js区分大小写的,所以请尝试以下操作

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

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

        2
  •  3
  •   Muhammad Usman    6 年前

    每当你想比较字符串时,总是保存下来以便使用

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

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