javascript中允许返回值的最佳循环?

javascript中允许返回值的最佳循环?,javascript,arrays,loops,iteration,Javascript,Arrays,Loops,Iteration,javascript中有几个循环,包括forEach、some、map和reduce。但是,根据我目前的理解,如果您希望迭代数组并返回特定索引的值,那么这些都不合适。似乎我只剩下了标准for循环。这是真的吗 例如,如果我有一个对象数组。。。我想找到具有特定值的项的索引。。。我可以使用除常规for循环之外的任何东西吗?您可以使用foreach而不是常规for。它是最简单的,您可以迭代并获取索引。有关更多信息:还有。。。关于…: 您可以使用JavaScript库。它有很多功能。出于您的目的,您可以使

javascript中有几个循环,包括forEach、some、map和reduce。但是,根据我目前的理解,如果您希望迭代数组并返回特定索引的值,那么这些都不合适。似乎我只剩下了标准for循环。这是真的吗


例如,如果我有一个对象数组。。。我想找到具有特定值的项的索引。。。我可以使用除常规for循环之外的任何东西吗?

您可以使用foreach而不是常规for。它是最简单的,您可以迭代并获取索引。有关更多信息:

还有。。。关于…:


您可以使用JavaScript库。它有很多功能。出于您的目的,您可以使用u.indexOf。它将重新返回可在数组中找到值的索引

例如:

var data=[1, 2, 3];
var index= _.indexOf(data, 2);
正如@Andreas在评论中所建议的,产量将为1

您可以将函数传递给findIndex方法,并在该函数中定义相等条件


它将返回满足函数中定义的相等条件的第一个数组元素的索引。

或者像大家说的那样。

findIndex或IndexOfB但是如果它是一个对象数组呢?让我们说[{姓名:'foo',年龄:23},{姓名:'foo2',年龄:34}]?如何使用indexOf搜索此项?@Perfective:yourList.findIndexfunctionitem{return item.name==='foo2';}。如果它是一个对象数组,即使是这样,也可以使用findIndex。此函数接受一个函数,您可以在其中定义相等标准。类似地,您可以使用forEach项、索引、数组循环并检查每个元素是否相等。无论哪一项匹配,您都可以返回该元素的索引。我想您不明白我的问题。。。。我已经提到了forEach的存在。。。但是,问题是我不能让它返回item值。返回一个特定元素的索引,它等于该值,对吗?如果您检查我发送的链接,它将返回元素的索引和值。该链接显示如何使用带参数的函数获取项目索引及其值。对不起,我把这个弄糊涂了。最好的。关键是你不能说result=array.forEach。。因为.forEach函数本身不返回结果。你必须说result=循环中的某个元素,并且没有办法突破forEach,因此如果你只是试图找到一个特定的元素,那么它是无效的。谢谢你花时间@MalcolmVaz。虽然,我没有找到我要找的东西。。。你真是太好了。听起来很有趣。。。但我认为它将贯穿整个数组列表,而不管您是否找到了项。是真的吗?@感恩-您仍然可以中断或返回,与任何其他普通循环一样。您可以在其中放入一个return语句,也可以中断它。与传统的for循环相比,这在性能方面是否有任何额外的好处?当JS有一个内置数组。indexOf方法时,为什么要使用下划线?
var data=[1, 2, 3];
var index= _.indexOf(data, 2);