一、for 循环遍历数组
1.简单的遍历
创建一个数组并打印出来
arr=[1,2,3,4];
for(var i =0; i<arr.lenght;i++){
console.log(arr)
}
打印出数组中大于2的元素,并将这些元素放入一个向新数组中;
arr=[1,2,3,4];
for(var i =0; i<arr.lenght;i++){
if(i<2){
newArr=[];
newArr.push(arr[i]);
}
}
2.遍历数组,将其中特定的元素取出来
1.创建一个函数,可以将perArr中满18岁的Person提取出来,然后封装到一个新的数组中
首先创建一个构造函数,有name,age,sex形参,per1,per2,per3为Person的实例
function Person (name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
}
var per1 = new Person("tom",18,"man");
var per1 2= new Person("tom",18,"man");
console.log(per1);
2.创建一个函数,可以把满18岁的Person提出来,然后封装到一个新的数组中并返回
function getage(arr){
var newArr=[];
//遍历数组arr,获取arr中的Person对象
for(var i=0;i<arr.length;i++){
// console.log(arr[i])
var p=arr[i];
//判断是否大于15
if(p.age>15){
//如果大于15则将这个对象添加到newArr中
newArr.push(p);
}
}
return newArr
}
var info=getage(perArr)
console.log(info);
二、for...each 仅支持IE8以上浏览器
需要将函数作为参数,浏览器自己调用,这种由我们创建,由浏览器调用 的,叫做回调函数
浏览器在回调函数中传递的三个参数:
1.当前正在遍历的数组中的元素
2.数组中所有元素的索引
3.正在遍历的数组
//ES6
arr=["tom","jim","pitter"];
arr.forEach((v,i,o) => {
// console.log(v);
// console.log(i);
console.log(o);
});
//或者普通
arr.forEach(function(v,i,o){
console.log(v);//正在遍历的数组中的元素
console.log(i);//数组中元素的索引
console.log(o);//正在遍历的数组
});