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

js数组中有多个相同的类,每个类中都有一个name的属性,在不使用循环的情况下,如何得到数组中,name的值等于zhangsan的对象,注意,循环的方式我会的,因为循环速... js 数组中有多个相同的类,每个类中都有一个name的属性,在不使用循环的情况下,如何得到数组中,name的值等于zhangsan的对象,注意,循环的方式我会的,因为循环速度会受到影响,所以请大神帮忙给出一个不使用循环就做到的方式。 展开
 我来答
无野楼升域醉0t
2019-01-03 · TA获得超过8552个赞
知道小有建树答主
回答量:1498
采纳率:88%
帮助的人:503万
展开全部

这个除了遍历意外恐怕没有更有效办法。

不用循环的话就用递归,不过效率还没循环高呢。

另外我写的这个是有问题的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);

~

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式