js 数组中有多个相同的类,每个类中都有一个name的属性,如何得到数组中,name的值等于zhangsan的对象
js数组中有多个相同的类,每个类中都有一个name的属性,在不使用循环的情况下,如何得到数组中,name的值等于zhangsan的对象,注意,循环的方式我会的,因为循环速...
js 数组中有多个相同的类,每个类中都有一个name的属性,在不使用循环的情况下,如何得到数组中,name的值等于zhangsan的对象,注意,循环的方式我会的,因为循环速度会受到影响,所以请大神帮忙给出一个不使用循环就做到的方式。
展开
1个回答
展开全部
这个除了遍历意外恐怕没有更有效办法。
不用循环的话就用递归,不过效率还没循环高呢。
另外我写的这个是有问题的js数组是引用类型的,需要一个副本。
真打算用的 再改善改善
var arr = [{name:"aa"},{name:"bb"},{name:"cc"},{name:"dd"},{name:"zhangsan"}];
function doFind(name,arr){
if(!arr||arr.length<1){
return null;
}
var obj = arr.pop();
if(obj.name==name){
return obj
}
doFind(name,arr);
}
var obj = doFind("zhangsan",arr);
alert(obj?obj.name:obj);
~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询