JS--2.2

去重

//第一种

var ary =[1,1,1,2,3,2,3];

for (var i=0;i<ary.length-1;i++){

//拿出的这一项

var currentItem = ary[i];

for (var j = i+1;j<ary.length;j++){

// 后面的每一项

var afterItem = ary[j];

if(currentItem == afterItem){

ary.splice(j,1);

// 数组的下标塌陷问题

j--

}

}

}

console.log(ary);

//第二种

var ary =[1,1,1,2,3,2,3];

//创建对象拿来装属性名和属性值都是数组元素

var obj = {};

for (var i = 0;i< ary.length;i++){

var item = ary[i];

if (typeof obj[item]=="undefined"){

obj[item]=item;

}else{

ary.splice(i,1);

i--;

}

}

console.log(ary);

// 第三种

var ary =[1,1,1,2,3,2,3];

//创建对象拿来装属性名和属性值都是数组元素

var obj = {};

for (var i = 0;i< ary.length;i++){

var item = ary[i];

if (typeofobj[item]=="undefined"){

obj[item]=item;

}else{

ary[i]=ary[ary.length-1];

ary.length--;

i--;

}

}

console.log(ary);

//数组的去重

var ary =[1,1,1,2,3,2,3];

var newAry = [];

for (var i = 0;i< ary.length;i++){

var item = ary[i];

if (newAry.indexOf(item) ==-1){ //查找,没有的话返回值就是-1

newAry.push(item); // 末尾增加一项

}

}

console.log(newAry);


冒泡排序

// 冒泡排序

var ary = [8,2,1,5]

for (var i=0;i<ary.length-1;i++);{ //-1是循环少一轮

for (var j=0;j<ary.length-1-i;j++);{

var current=ary[j];

var next=ary[j+1];

if(ary[j]>ary[j+1]){

var temp=ary[j] //新的等于第一个值,

ary[j]=ary[j+1] //第一个等于第二个值

ary[j+1]=temp //第二个等于新的

}

}

}


递归

function fn (num){

if (num<0)return;

console.log(num);

fn(num-1)

}

fn(10)

// 1到10的和:

functiontotol(num){

if (num>10)return0

returnnum+totol(num+1)

}

console.log(total(1));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值