Javascript - 使数组索引 toLowerCase() 不起作用

Javascript - Making Array Index toLowerCase() not working

我试图将所有数组索引设为小写字符串,但它不起作用。我在这里查看了其他答案并尝试了他们的解决方案,例如在添加 toLowerCase 之前使用 toString() 但它不起作用,这很奇怪。

我创建了问题的 jsfiddle here

JS:

$(colorArr).each(function(i, item) // loop thru each of elements in colorArr and make lowercase + trim
{
    if(colorArr[i] !== undefined) // check if colorArr index undefined
      {
      colorArr[i].toString().toLowerCase().trim(); // FIX HERE
      /* TRIED - DIDN'T WORK!
      colorArr[i].toLowerCase().trim();
      */
       }
});

您需要将值设置回来

应该是

colorArr[i] = colorArr[i].toString().toLowerCase().trim(); // FIX HERE

或者干脆

colorArr = colorArr.map(function(value){ return value ? value.toLowerCase().trim() : ""; });

我更新了你的fiddle

https://jsfiddle.net/af91r2cq/6/

colorArr[i] = colorArr[i].toString().toLowerCase().trim(); // FIX HERE

你的路真的很近;)

另一种将数组中所有定义的值更改为小写的方法是使用 jQuery.map 函数,如下所示:

colorArr = $.map(colorArr, function(item, i) {
  if(item !== undefined) {
    return item.toString().toLowerCase().trim();
  }
});