- function unique1(arr){
//i从1开始遍历arr中每个元素,同时声明数组r,初始化一个元素为arr中第0个元素
for(var i=1,r=[arr[0]];i<arr.length;i++){
//j从0开始遍历r数组中每个元素
for(var j=0;j<r.length;j++){
//如果r数组中当前元素等于arr中当前元素,就退出循环
if(r[j]==arr[i]){break;}
}//(遍历结束)
//如果j等于r的length时
//就将arr中当前元素追加到r的结尾
j==r.length&&(r[r.length]=arr[i]);
}//(遍历结束)
return r;//返回r
}去掉数组中重复的元素
//i从1开始遍历arr中每个元素,同时声明数组r,初始化一个元素为arr中第0个元素
for(var i=1,r=[arr[0]];i<arr.length;i++){
//j从0开始遍历r数组中每个元素
for(var j=0;j<r.length;j++){
//如果r数组中当前元素等于arr中当前元素,就退出循环
if(r[j]==arr[i]){break;}
}//(遍历结束)
//如果j等于r的length时
//就将arr中当前元素追加到r的结尾
j==r.length&&(r[r.length]=arr[i]);
}//(遍历结束)
return r;//返回r
}去掉数组中重复的元素
方法1:
function deRepeat(arr){
//i从1开始遍历arr中每个元素,同时声明数组r,初始化一个元素为arr中第0个元素
for(var i=1,r=[arr[0]];i<arr.length;i++){
//j从0开始遍历r数组中每个元素
for(var j=0;j<r.length;j++){
//如果r数组中当前元素等于arr中当前元素,就退出循环
if(r[j]==arr[i]){break;}
}//(遍历结束)
//如果j等于r的length时
//就将arr中当前元素追加到r的结尾
j==r.length&&(r[r.length]=arr[i]);
}//(遍历结束)
return r;//返回r
}
方法2:
function deReapeat(arr){
var hash=[];//声明空数组
//将arr中第0个元素放入hash作为第一个key
hash[arr[0]]=1;
//i从1开始遍历arr中每个元素,同时声明数组hash,初始化一个元素为arr中第0个元素
for(var i=1;i<arr.length;i++){
//如果hash中不包含arr中当前元素作为key的元素
if(hash[arr[i]]===undefined){
//在hash中添加新元素,key为arr中当前元素,值为1
hash[arr[i]]=1;//为数组中不存在的位置赋值,结果会自动添加新元素
}
}
//技巧:获取hash中的所有key
var keys=[], i=0;
for(keys[i++] in hash);
return keys;//返回keys
}
- 冒泡法排序