数组的遍历

㈠数组的遍历

⑴所谓的遍历数组,就是将数组中所有的元素都取出来

⑵格式:

for(var i = 0;i < arr.length; i++){
     console.log(arr[i]);
}

 

⑶示例:

 

㈡forEach

⑴一般我们都是使用for循环去遍历数组

   JS中,还为我们提供了一个方法,用来遍历数组

   ----forEach()

   这个方法只支持IE8以上的浏览器

   IE8以下的浏览器均不支持该方法,所以如果需要兼容IE8,则不要使用forEach,还是使用for循环来遍历

 

⑵forEach()方法需要一个函数作为参数

   像这种函数,由我们创建但是不由我们调用的,我们称为回调函数

   数组中有几个元素,函数就会执行几次,每次执行时,浏览器会将遍历到的元素

   以实参的形式传递进来,我们可以来定义形参,来读取这些内容

 

⑶浏览器会在回到函数中传递三个参数:

   第一个参数,就是当前正在遍历的元素

   第二个参数,就是当前正在遍历的元素的索引

   第三个参数,就是正在遍历的数组

 

⑷示例如下:

var arr = ["孙悟空","猪八戒","沙和尚","唐僧","白骨精"];

 arr.forEach(function(value,index,obj){

         console.log(value);

 });

 

㈢练习

问题如下:

问题如下:

function Person(name , age , gender ){
       this.name = name;
       this.age = age;
}


//修改Person原型的toString

Person.prototype.toString = function(){

      return "Person[name =" +this.name+",age= " +this.age+" ]";

};



//创建一个Person对象

var per = new Person("孙悟空",18);



//创建一个Person对象

var per = new Person("孙悟空",18);

var per2 = new Person("猪八戒",28);

var per3 = new Person("红孩儿",8);

var per4 = new Person("蜘蛛精",16);

var per5 = new Person("二郎神",38);



//将这些person对象放入到一个数组中

var perArr = [per,per2,per3,per4,per5];



//创建一个函数,可以将perArr中的满18岁的person提取出来

//然后封装到一个新的数组中并返回

//arr  形参,要提取信息的数组



function getAdult(arr){
    //创建一个新的数组

     var newArr = [ ];

    // 遍历arr,获取arr中Person对象



    // 判断Person对象的age是否大于等于18


    // 如果大于等于18,则将这个对象添加到newArr中

     

    //将新的数组返回

       return newArr;

}

var result = getAdult(perArr);

console.log(result);

 

答案如下:

function Person(name , age , gender ){
       this.name = name;
       this.age = age;
}


//修改Person原型的toString

Person.prototype.toString = function(){

      return "Person[name =" +this.name+",age= " +this.age+" ]";

};



//创建一个Person对象

var per = new Person("孙悟空",18);



//创建一个Person对象

var per = new Person("孙悟空",18);

var per2 = new Person("猪八戒",28);

var per3 = new Person("红孩儿",8);

var per4 = new Person("蜘蛛精",16);

var per5 = new Person("二郎神",38);



//将这些person对象放入到一个数组中

var perArr = [per,per2,per3,per4,per5];



//创建一个函数,可以将perArr中的满18岁的person提取出来

//然后封装到一个新的数组中并返回

//arr  形参,要提取信息的数组



function getAdult(arr){
     //创建一个新的数组

     var newArr = [ ];

    // 遍历arr,获取arr中Person对象

    for(var i = 0; i < arr.length; i++){
          var p = arr[i];

     //判断Person对象的age是否大于等于18

     if(p.age >= 18){
       //如果大于等于18,则将这个对象添加到newArr中

       //将对象放入到新数组中
       newArr.push(p);
       }
     }

      //将新的数组返回

       return newArr;

}

var result = getAdult(perArr);

console.log(result)
posted @ 2019-12-23 10:31  石海莹  阅读(3846)  评论(0编辑  收藏  举报