编程题:
- 请给Array本地对象增加一个原型方法,用于删除数组条目中的重复条目(可能有多个),返回一个包含被删除的重复条目的新数组
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p>题目:请给Array本地对象增加一个原型方法,用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。</p>
<p>思路:通过for循环遍历,将重复的值用splice取出然后入栈</p>
<script>
Array.prototype.distinct=function(){
var ret=[];
for(var i=0;i<this.length;i++){
for(var j=i+1;j<this.length;j++){
if(this[i]===this[j]){
//将重复的值取出
ret.push(this.splice(j,1)[0]);
}
}
}
return ret;
}
//测试
console.log([1,2,3,4,3,5,6,3,1].distinct());
</script>
</body>
</html>
- 补充代码,使mySort()能传入的参数按照从小到大排序显示出来。
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p>题目:补充代码,使mySort()能传入的参数按照从小到大排序显示出来。</p>
<p>实现思路:先将函数的参数用数组保存起来,然后通过定义一个排序函数来排序</p>
<script>
function mySort(){
var tags=new Array();//使用数组作为参数存储容器
for(var i=0;i<arguments.length;i++){
tags.push(arguments[i]);
}
tags.sort(function(compare1,compare2){
return compare1-compare2;
})
return tags;//返回已排序的数组
}
var result=mySort(50,11,16,32,99,87);
console.log(result);
</script>
</body>
</html>
【薄弱环节】对数组、字符串中的操作方法还不能记得牢