1、请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象,如:var url = “http://witmax.cn/index.php?key0=0&key1=1&key2=2″;
function parseQueryString(url){
var params={};
var arr=url.split('?');
if(arr.length<=1)
return params;
arr=arr[1].split("&");
for(var i=0;i<arr.lengrh;i++){
var a=arr[i].split("=");
params[a[0]]=a[1];
}
return params;
}
2\JavaScript中如何检测一个变量是一个String类型?请写出函数实现
function isString(str){
return (typeof(str)=="string"||str.constructor==String);
}
3、编写一个方法 去掉一个数组的重复元素
var arr=[1,1,3,4,2,1,5]
Array.prototype.unique=function(){
var ret=[]'
var o={};
var len=this.length;
for(var i=0;i<len;i++){
var v=this[i[;
if(!o[v]){
o[v]=1;
ret.push(v);
}
}
return ret;
}
递归算法采用分而治之的思想:考虐序列p1p2p3...pn可以分解p1+C(p2p3...pn)
function combination(arr){
var len=arr.length;
if(len==2){
var a=arr[0],b=arr[1];
return [a+b,b+a];
}
else if(len==1) return arr;
else{
var strPtn='';
for(var i=0;i<len;i++){
strRtn+=merge(arr[i],combination(arr.slice(0,i).concat(arr.slice(i+1,len)))).join(',')+',';
}
return strRtn.replace(/\,$/,'').split(",")0
}
}
function merge(head,arr){
for(var i=0;i<arr.length;i++)
arr[i]=head+arr[i];
return arr;
}
http://blog.youkuaiyun.com/jtlyuan/article/details/7455868