数组的遍历练习---加油加油

  <script>
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);
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];

// console.log(perArr);

/*
*创建一个函数,可以将perArr中的满18岁的person提取出来,
* 然后封装到一个新的数组中并返回
* arr
* 形参,要提取信息的数组
*/

function getAdult(arr){
//创建一个新的数组
var newArr = [];

//遍历arr,获取arr中的person对象------将函数中成年人的数组arr提取出来
for(var i=0 ; i<arr.length ; i++){
var p = arr[i]; //实则是指[per,per2,per3,per4,per5],i是数组中的每一个元素
//判断Person对象的age是否大于等于18
if(p.age >= 18){
//如果大于等于18,则将这个对象添加到newArr中
//将对象放入到新数组中
newArr.push(p);
}
}

//将新的数组返回
return newArr;

}

var result = getAdult(perArr);

console.log(result);

// var p = arr[i]; //实则是指[per,per2,per3,per4,per5],i是数组中的每一个元素
// newArr.push(p);//实则是将p代表的每一个元素,利用push从后面添加到新数组之中,newArr是新建的新数组
//把p放入到新数组中相当于把之前的数组复制一遍都放进去了,不符合要求。要求是将满足条件的放进新数组然后再输出
//如果age》=18,此时将符合的p元素放入新数组中


</script>
posted @ 2022-05-15 20:41  LiLime  阅读(36)  评论(0)    收藏  举报