1 Jan 2017
之前在UESTC前端群里跟一些朋友分享了一些javascript的思考题,旨在促进群内技术讨论,共同进步。期间不乏思维的火花,一直想将这些宝贵的财富沉淀下来,以便日后翻阅。
前段时间在跟踪问题时从一份源代码中看到了这个问题的一个巧妙实现,所以作为思考题放在群里,来促进大家的技术交流。
大家也没让我失望,给出了各种巧妙的实现方式。
我在这里列举些简洁的实现方式,如果读者能够受到一些启示,我将不胜荣幸。
方案一 最基础的想法String.prototype.split
function splitString(str) {
return str.split('');
}
方案二 移花接木
function splitString(str) {
return Array.prototype.slice.call(str);
}
方案三 借鸡生蛋,利用Array.from(ES6)
function splitString(str) {
return Array.from(str);
}
方案四 大道至简, 利用数组展开运算符(ES6)
function splitString(str) {
return [...str];
}
方案五 剑走偏锋
function splitString(str) {
return str.match(/[\s\S]/g);
}
每个方案都是一种不一样的思路,希望可以抛砖引玉,给大家在平时的工作中一些启示。
今天是2017年的元旦,幽灵祝各位朋友新年快乐,希望大家可以一同进步。也希望自己能够坚持写博客,把平时实践中的一些经验沉淀下来与大家分享。