为什么输出空数组呢?也没有报错!

 

window.onload = function(){
	function Person(name,age){
		this.name = name;
		this.age = age;
	}
	
	var per1 = new Person("孙悟空",18);
	var per2 = new Person("红孩儿",8);
	var per3 = new Person("蜘蛛精",16);
	var per4 = new Person("猪八戒",28);
	var per5 = new Person("牛魔王",38);
<!--	console.log(per1);-->
	var persons = [per1,per2,per3,per4,per5];
<!--		document.write(persons);-->
	function getAdult(arr){
		var newArra = [] ;
		for(var i=0;i<arr.length;i++){
			var a = arr[i];
			if(arr.age >= 18){
				newArra.push(a);
			}
		}
		return newArra;
	}
	 var fun = getAdult(persons);
	 console.log(fun);
}

 

if(arr.age >= 18){ // 这句错了吧

应该是

if(a.age >= 18){

第19行,你判断的时候用的不是变量a,而是arr,你想用的应该是a.age来判断吧

第19行应该是arr[i].age>=18 ,arr不是对象所以有问题

第十九行 if(arr.age >= 18) 因为arr下面没有age属性 条件一直不成立  所有newArra一直为空 应修改为 if(arr[i].age >= 18)