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

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

我在这里创建了一个问题的方法。

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(); */ } }); 

我更新了你的小提琴

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

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

你的方式非常接近;)

您需要重新设置值

它应该是

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

或者干脆

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

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

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