题解 | #字符串分隔#
字符串排序
http://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
while(line = readline()){ let read=line.split('') //将所有的大小字母按顺序放到upper数组中 let upper=[] for(let i=65;i<=90;i++){ upper.push(String.fromCharCode(i)) } //将用例中的全部字母放到result中(同一个英文字母的大小写同时存在时,按照输入顺序排列) let result=[] upper.forEach(i=>{ result.push(...read.filter(y=>y.toUpperCase()===i)) }) result.reverse()//翻转结果,方便后面使用出栈 let maped=read.map(i=>{ if(i.charCodeAt()<65||i.charCodeAt()>90&&i.charCodeAt()<97||i.charCodeAt()>122){ return i//如果非字母则直接返回 }else{ return '\n'//是字母全部改下成\n字符串 } }).map((i)=>{ if(i==='\n'){//如果是\n字符串则将之前记录的有顺序的字母出栈 return result.pop() }else{ return i } }) console.log(maped.join('')) }