方法一: indexOf
var arr1=[1,2,3,4,5,4,3,2,1];
function repeat1(arr){
for(var i=0,arr2=[];i<arr.length;i++){
if(arr2.indexOf(arr[i])==-1){
arr2.push(arr[i]);
}
}
return arr2;
}
方法二: hash
function repeat2(arr){
// 1. 遍历arr中每个元素,同时声明hash
for(var i=0,hash={};i<arr.length;i++){
// hash中是否包含当前元素值的建
// 如果不包含,就hash添加一个新元素,
// 以当前元素值为key,value默认为1
if(hash[arr[i]]===undefined){
hash[arr[i]]=1;
}
}
// 2. 将hash转为索引
var i=0;
var arr2=[];
for(arr2[i++] in hash);
return arr2;
}
方法三: 正则
function repeat3(arr){
return arr.sort()
.join(",,")
.replace(
/(^|,,)([^,]+)(,,\2)*/g,
"$1$2")
.split(",,");
}
console.log(repeat3(arr1));
2. HTTP状态码及其含义?
1XX:信息状态码
100 Continue 继续,一般在发送post请求时,
已发送了http header之后服务端将返回此信息,
表示确认,之后发送具体参数信息;
2XX:成功状态码
200 OK 正常返回信息
201 Created 请求成功并且服务器创建了新的资源
202 Accepted 服务器已接受请求,但尚未处理
3XX:重定向
301 Moved Permanently 请求的网页已永久移动到新位置。
302 Found 临时性重定向。
303 See Other 临时性重定向,且总是使用 GET 请求新的 URI。
304 Not Modified 自从上次请求后,请求的网页未修改过。
4XX:客户端错误
400 Bad Request 服务器无法理解请求的格式,
客户端不应当尝试再次使用相同的内容发起请求。
401 Unauthorized 请求未授权。
403 Forbidden 禁止访问。
404 Not Found 找不到如何与 URI 相匹配的资源。
5XX: 服务器错误
500 Internal Server Error 最常见的服务器端错误。
503 Service Unavailable 服务器端暂时无法处理请求
(可能是过载或维护)。