㈠数组的遍历
⑴所谓的遍历数组,就是将数组中所有的元素都取出来
⑵格式:
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)