var passwordArray = pwd.replace(/\s+/g, '').split(/\s*/);
我发现上面的代码行是一个记录很差的JavaScript文件,我不确切知道它的作用。我认为它将字符串拆分为一个字符数组,类似于PHP的str_split。我是否正确,如果是的话,有更好的方法吗?
答案 0 :(得分:2)
它替换密码中的任何空格,然后将密码拆分为一个字符数组。
将字符串转换为字符数组有点多余,因为您已经可以通过括号(不是在较旧的IE :()中或通过字符串方法“charAt”访问字符串的字符:< / p>
var a = "abcdefg";
alert(a[3]);//"d"
alert(a.charAt(1));//"b"
答案 1 :(得分:1)
它与:pwd.split(/\s*/)
相同。
pwd.replace(/\s+/g, '').split(/\s*/)
删除所有空格(制表符,空格,lfcr等),并将余数(从replace
操作返回的字符串)拆分为一个字符数组。 split(/\s*/)
部分很奇怪且过时,因为\s
中不应留下任何空格(pwd
)。
因此pwd.split(/\s*/)
就足够了。所以:
'hello cruel\nworld\t how are you?'.split(/\s*/)
// prints in alert: h,e,l,l,o,c,r,u,e,l,w,o,r,l,d,h,o,w,a,r,e,y,o,u,?
将
'hello cruel\nworld\t how are you?'.replace(/\s+/g, '').split(/\s*/)
答案 2 :(得分:0)
replace
部分正在从密码中删除所有空白区域。 \\s+
原子匹配非零长度的白色spcace。 'g'部分匹配空白的所有实例,并且它们都被空字符串替换。