pr1*_*001 10 javascript arrays jquery map
我在对象数组中进行非常频繁的搜索,并且一直在使用jQuery.inArray().但是,我有速度和内存问题,根据我的探查器,最常调用的方法之一是jQuery.inArray().街上有什么关于它的表现的话?我应该切换到简单的for循环吗?
我的具体功能是:
function findPoint(point, list)
{
var l = list.map(function anonMapToId(p) { return p.id });
var found = jQuery.inArray(point.id, l);
return found;
}
Run Code Online (Sandbox Code Playgroud)
也许list.map()是更多的责任?
CMS*_*CMS 15
内部很好地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;
}
Run Code Online (Sandbox Code Playgroud)
该Array.prototype.indexOf方法已在实现JavaScript 1.6的浏览器中引入,它将成为ECMAScript 5标准的一部分.
本地实现的方式比非原生得更快.
| 归档时间: |
|
| 查看次数: |
16982 次 |
| 最近记录: |