function SimpleSymbols(str) { var letter =['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']; var newstr = ""; for (var i = 0; i<str.length; i++){ if (str.charAt(i).toLowerCase() in letter){ newstr += "M"; } else{ newstr += "X"; } } return newstr; }
如果str是“Argument goes here”,则返回XXXXXXXXX.为什么不返回MMMMMMMMMM?
解决方法
你没有在in中查找数组中的条目.使用indexOf()来查找数组条目的位置.如果没有找到条目,indexOf()将返回位置或-1.
for (var i = 0; i<str.length; i++){ var strChar = str.charAt(i).toLowerCase(); if ( letter.indexOf(strChar) >= 0 ) { newstr += "M"; } …