js 数组中有多个相同的类,每个类中都有一个name的属性,如何得到数组中,name的值等于zhangsan的对象

2024-12-17 03:12:52
推荐回答(1个)
回答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);

~