javascript – 我应该使用jQuery.inArray()吗?

前端之家收集整理的这篇文章主要介绍了javascript – 我应该使用jQuery.inArray()吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在对象数组中进行非常频繁的搜索,并且一直在使用jQuery.inArray().然而,我有速度和内存问题,根据我的分析器最常用的方法之一是jQuery.inArray().这个词在街上有什么表现?我应该切换到一个简单的循环?

我的具体功能是:

function findPoint(point,list)
{
  var l = list.map(function anonMapToId(p) { return p.id });
  var found = jQuery.inArray(point.id,l);
  return found;
}

可能是list.map()更怪吗?

解决方法

在内部的inArray做一个简单的循环,我建议你检查是否有一个本机 Array.prototype.indexOf实现,并使用它而不是inArray如果可用:
function findPoint(point,list) {
  var l = list.map(function anonMapToId(p) { return p.id });
  var found = ('indexOf' in Array.prototype) ? l.indexOf(point.id)
                                             : jQuery.inArray(point.id,l);
  return found;
}

在实现JavaScript 1.6的浏览器中引入了Array.prototype.indexOf方法,它将成为ECMAScript 5标准的一部分.

本地实现方式比非本地实现方式更快.

猜你在找的jQuery相关文章