您可以过滤数组,以收集具有“A”名称的元素,然后 forEach 或将匹配项映射到新的属性名称和值数组
house.filter(function(itm){
return itm.Name.charAt(0)== 'A';
}).map(function(o){
var A= [];
for(var p in o){
if(o.hasOwnProperty(p)){
A.push(p+':'+o[p]);
}
}
return A;
}).join('\n');
/* 返回值:(字符串)*/
Name:Albert,age:14
Name:Alison,age:14
如果您需要垫片:
(function(){
var A= Array.prototype;
if(!A.filter) A.filter= function(fun, scope){
var T= this, A= [], i= 0, itm, L= T.length;
if(typeof fun== 'function'){
while(i<L){
if(i in T){
itm= T[i];
if(fun.call(scope, itm, i, T)) A[A.length]= itm;
}
++i;
}
}
return A;
}
if(!A.map) A.map= function(fun, scope){
var T= this, L= T.length, A= Array(L), i= 0;
if(typeof fun== 'function'){
while(i<L){
if(i in T){
A[i]= fun.call(scope, T[i], i, T);
}
++i;
}
return A;
}
}
}
})();