题解 | #坐标移动#
坐标移动
http://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
本题一个使用for+switch实现非常简单. 相当于中等难度的题. 想来这题放在较难里面也是因为有一些其他细节容易 出错 (1)过滤无效值 (2)注意slice(start, end)和substr(start, length)用法的不同 (3)filter(function) while(line = readline()) { arr = line.split(';').filter(e=>{ // 过滤undefined, null, '' return e && e.trim() }) var x = 0 var y = 0 for(let i of arr){ if(isNaN(Number(i.substr(1)))){ continue } switch(i.substr(0,1)) { case 'A': x-=Number(i.slice(1));break case 'D': x+=Number(i.slice(1));break case 'S': y-=Number(i.slice(1));break case 'W': y+=Number(i.slice(1));break } } console.log(x+','+y) }