Javascript 从JQuery$中返回值的最优雅的方法。每个?
我想知道是否有一种更优雅的方法可以从我粘贴在下面的函数中返回值:“getImageURLforPOICategory” 正如您所看到的,我使用JQuery的“each”函数迭代对象数组,当我找到匹配值时,我希望从“each”循环返回结果,然后从包含each循环的函数返回结果 我使用了一个局部变量来“缓存”它,然后返回它。我不完全确定这是不是最好的方法?是否有一种直接从每个循环中返回值的方法Javascript 从JQuery$中返回值的最优雅的方法。每个?,javascript,jquery,Javascript,Jquery,我想知道是否有一种更优雅的方法可以从我粘贴在下面的函数中返回值:“getImageURLforPOICategory” 正如您所看到的,我使用JQuery的“each”函数迭代对象数组,当我找到匹配值时,我希望从“each”循环返回结果,然后从包含each循环的函数返回结果 我使用了一个局部变量来“缓存”它,然后返回它。我不完全确定这是不是最好的方法?是否有一种直接从每个循环中返回值的方法 Tracker.getImageURLforPOICategory = function (POICate
Tracker.getImageURLforPOICategory = function (POICategoryID) {
var url;
$.each(Tracker.pointofinterestcategories, function () {
if (this.id === POICategoryID) {
url = this.imageurl;
return;
}
}
);
return url;
};
谢谢你的阅读
干杯
Duncan不,不能从
.each()
返回值
如果执行操作,则返回false代码>它将停止循环,因此它的运行时间不会超过需要的时间,但您需要像现在这样使用变量
如果您不使用$.each()
,而是使用for
循环,您将能够:
return Tracker.pointofinterestcategories[ i ].imageurl
不过我还是会使用for循环
Tracker.getImageURLforPOICategory = function (POICategoryID) {
return $.grep(Tracker.pointofinterestcategories, function (item) {
return item.id === POICategoryID;
})[0].imageurl;
}
非常感谢。我想,恢复到标准For循环对于这样一个简单的操作是有意义的。干杯,邓肯。很好。。几天前晚上,我看到了grep函数,并计划对其进行探索。。谢谢你的例子!