【发布时间】:2013-08-03 19:12:36
【问题描述】:
我正在查看我目前正在编写的一些 jQuery 代码,它在我的 C# 大脑中看起来很奇怪。有更好的方法吗?
var idToLookFor = 2;
var myArray = [{id:1},{id:2},{id:3}]
var arrayItem = $.grep(myArray , function (elm) {
return elm.id == idToLookFor;
});
var itemFound = arrayItem[0];
我可以理解 grep 返回一个数组而不是一个查找类型函数,它是一个过滤类型函数,所以我想问题应该是真的有一个函数只会返回一个项目而不是一个数组吗?
【问题讨论】:
-
是的,你已经在最后一行使用了。
-
如果你只需要数组中的第一个匹配项,只需loop over the array 直到你得到它?
-
我认为这可能只是 [in the question] 的一个错字,但上述内容不起作用,
myArray不包含任何具有名为Id的属性的对象 -
是的,这是一个错字:)
-
@Jammer,您可以只返回
grep? 中的元素?像这样var arrayItem = $.grep(myArray , function (elm) { if(elm.id == idToLookFor) return elm; });。如果它不匹配任何东西,它将返回一个空数组
标签: javascript jquery