qunar面试题及一位大牛的解答
本文摘自:http://www.cnblogs.com/jarson-7426/p/3989208.html
1、写一个函数padstare(string str1,min_lenthg,string str2),然后就是用英文解释每个参数的意思。
例:padstare(‘5’,3,‘0’)返回的是‘005’;
padstare(‘798’,5,‘0’)返回的是‘00798’;
意思是这样的,如果字符串str1的长度没有min_length大,就用str2来填充;
function padstare(a,b,c){ for(var i=0; i<=b - a.length; i++) a = c+a; return a; }
2、写一个命令行字符的解析函数。
例:-name lily -age 25 -school "chengdu university" 返回的是[-name lily,-age 25, -school "chengdu university"]
function subComm (str) { return str.match(/.+?(\s{2}|$)/g); }
3、设计函数indexof(a,b)判断字符串a中是否包含字符串b,如果包含返回其位置,不包含返回-1;
function IndexOff(a,b) { var _a = a.split(''); var _b = b.split(''); return _indexOff(_a,_b,0,0); } function _indexOff(__a,__b,_ai,_bj) { if(__a[_ai] == __b[_bj]) { if (_bj == __b.length-1) return _ai - __b.length +2; else return arguments.callee(__a,__b,_ai,++_bj); }else { if(__a.length < _ai) return -1; else return arguments.callee(__a,__b,++_ai,_bj); } }
悟已往之不谏,知来者之可追;实迷途其未远,觉今是而昨非。
——且行且珍惜