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

时间:2016-03-23 13:59:54

标签: javascript jquery arrays each

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

我创建了问题here的jsfiddle。

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

3 个答案:

答案 0 :(得分:3)

我更新了你的小提琴

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

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

你的方式非常接近;)

答案 1 :(得分:2)

您需要重新设置值

应该是

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

或者只是

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

答案 2 :(得分:1)

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

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