我其实觉得这看起来更像一个班轮。其实,我需要为此在近日接受采访时,他们似乎对我的解决方案的简洁
所以非常深刻的印象,而不是我这样做: function letterChange(str){ return String.fromCharCode.apply(null,Array.prototype.map.call(str,i=>i.charCodeAt(0)+1)); }
也不是,我=> u.charCodeAt(0 )是一个lambda函数,如果不使用转译器,将无法在所有Web浏览器中运行。如果你还在使用ES5你也可以使用此:
function letterChange(str){ return String.fromCharCode.apply(null,Array.prototype.map.call(str,function(i){ return i.charCodeAt(0)+1; })); }
要更多地解释这一点让打破它:
可能提出问题的第一件事是“应用”功能。应用需要2个参数,一个对象(在这种情况下无关,所以我们使用null)和一个参数数组。然后这些参数以逗号分隔形式传递给我们所称的应用函数。在fromCharCode的情况下,传递多个参数将返回一个由所有结果组成的字符串。接下来,我们传递给它'Array.prototype.map.call',它允许我们在一个字符串上调用数组字面函数映射,这个字符串不是随地图出来的。然后我们通过这个函数来应用并返回完整的结果。
你只想要字母字符? [A-Z] –