【问题标题】:Javascript - Making Array Index toLowerCase() not workingJavascript - 使数组索引 toLowerCase() 不起作用
【发布时间】:2016-07-10 20:52:03
【问题描述】:

我正在尝试将所有数组索引设为小写字符串,但它不起作用。我在这里查看了其他答案并尝试了他们的解决方案,例如在添加 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();
      */
       }
});

【问题讨论】:

标签: javascript jquery arrays each


【解决方案1】:

我更新了你的小提琴

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

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

你的路真的很近;)

【讨论】:

  • 比较另一个变量checkedAttr,当两者都是字符串数组时,为什么它适用于checkedAttr 而不是colorArr
【解决方案2】:

你需要重新设置值

应该是

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

或者干脆

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-18
      • 2011-02-07
      • 1970-01-01
      相关资源
      最近更新 更多