Javascript - 使数组索引 toLowerCase() 不起作用
Posted
技术标签:
【中文标题】Javascript - 使数组索引 toLowerCase() 不起作用【英文标题】:Javascript - Making Array Index toLowerCase() not working 【发布时间】: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();
*/
);
【问题讨论】:
why does the trim doesn't really trim? trim not working in my case的可能重复 @juhana 这与trim()
无关,即使它在代码中,我只询问toLowerCase()
。
解决方案是一样的:你申请 toLowerCase 和 trim 但没有对结果做任何事情。
【参考方案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();
);
【讨论】:
以上是关于Javascript - 使数组索引 toLowerCase() 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
javascript 给定一个整数数组,返回两个数字的索引,使它们相加到特定目标。你可以假设每个输入wo
Django 模板语言 - 带有 Javascript 索引的 Python 数组