是否有任何jquery功能以类似于DOM的方式查询多维数组?

Ben*_*ter 9 arrays jquery jquery-selectors multidimensional-array

问题是什么......

jQuery是否有任何方法允许您以与DOM相似的方式查询多维对象数组.

例如,给我一个包含在具有一些匹配属性值的多维数组中的对象列表 - 例如,其中StartOfPeriod大于指定日期或其中name =="Ben Alabaster"

如果已经存在某些东西,我想避免重新发明轮子.

Mat*_*hen 6

你不能使用选择器语法,但jQuery带有$ .grep$ .inArray,这对此很有用. grep返回与谓词匹配的新元素数组. inArray返回第一个匹配元素的索引,或-1.例如:

var matches = $.grep(array, function(el){
  return el.StartOfPeriod > 2000;
});
Run Code Online (Sandbox Code Playgroud)

这些类似于标准ECMAScript方法,Array.filter(simimlar to grep)和Array.indexOf(类似inArray); jQuery实际上使用Array.indexOf了可用的地方.还有其他有用的ECMAScript方法,例如Array.every(所有元素匹配)和Array.some(至少一个匹配).MDC具有可以添加到项目中的代码,因此这些代码可以在没有本机实现的浏览器中使用.