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);
    }
     
}
原文地址:https://www.cnblogs.com/jq-melody/p/4152489.html