【发布时间】:2016-09-30 16:54:37
【问题描述】:
大家好,我认为下面的代码应该可以工作,但我不知道为什么,有什么建议吗?
它接收一个包含数字和字母的数组,并以小写辅音返回它。数字保持不变
示例:consonantstoLowerCase([1,5,7,'a','J','p','E']) 返回[1,5,7,'a','j',p,'E']
function consonantstoLowerCase( array )
{
var result = array.toString().replace(/[bcdfghjklmnpqrstvwxyz]/g, function (char)
{
return char.toLowerCase();
});
console.log(result)
}
输出:
consonantstoLowerCase([1,5,7,'a','J','p','E']) => 1,5,7,a,J,p,E
提前致谢!
【问题讨论】:
-
您只是在 reg exp 中寻找小写字母。
a不匹配A -
要使正则表达式不区分大小写,请添加
i,例如:/[bcdfghjklmnpqrstvwxyz]/ig,但您应该只查找大写辅音,/[BCDFGHJKLMNPQRSTVWXYZ]/g -
另外,您返回的是逗号分隔的字符串,而不是请求的数组。您需要再次
.split(","),但是当您传递逗号时这会中断。如果项目是大写字母,您可能应该使用array.map()并在那里执行替换。 -
你是忘记了A还是故意的?
-
@Titus 回答 /ig 工作
标签: javascript lowercase