1.for 最重要 兼容性好
var arr=[1,29,39]
for(var i=0;i<3;i++){
arr[1]
}
2. for in 循环 可以遍历对象和数组
var arr = [10,20,30]
for(var i in arr){
console.log(i); //打印下标
}
var obj={name:"jack",age:23}
for(var key in obj){
console.log(key);//打印name age
console.log(obj[key]); //打印 Jack 23
}
while 循环 已知结束条件要进行循环操作
do-while循环 无论while是否执行 do循环体中的会首先执行一次
forEach()循环数组 返回值是undefined
var arr = [10,20,30]
arr.forEach(function(el){
console.log(el); //10,20,30
})
var arr = [10]
arr.forEach(function(el,index,arr){
console.log(el,index,arr); //10 ,0,[10]
//el表示数组下标对应的值,index表示数组下标,arr表示数组,el是必须的,index和arr的值是可选的
})
Array map方法 的返回值也是undefined 但是数组中有多少项,就有多少undefined 如果有数组【1,20】 那么返回值是【undefined,undefined】
map函数相当于对原数组进行操作,会返回一个你想得到的新数组
Array.filter
var arr = [10,20,30,22]
var re = arr.filter(function(el){
return 100 //这里的返回值会用来判断布尔类型
})
console.log(re); // [10,20,30,22]
//如果上面的返回值是0或者false 这里只会打印[]
var arr = [10,20,30,22]
var re = arr.filter(function(el){
if(el>14){
return true
}else{
return false
}
})
console.log(re); //[20,30,22] 就会筛选数组中大于14的数
Array.some
var arr = [10,20,30,22]
var re = arr.some(function(el){
return el>15
})
console.log(re); //true 看数组中是否存在有大于15的数
//算总价第一种方式
var arr = [199,2,30]
var total=0
for(var i=0;i<arr.length;i++){
total = total+arr[i]
}
console.log(total);
//第二种方法
var re = eval(arr.join('+'))
console.log(re);