jQuery .each() 函数 - 优化了哪个方法
jQuery .each() function - Which method is optimized?
我正在使用jQuery .each()
函数检索<a>
元素中存在的文本值并将其存储在数组中。我找到了以下两种方法,但不确定我应该更喜欢哪种方法。
var textArr = [];
// Method 1
var textLinks = $("a").each(function(){
textArr.push($.trim($(this).text()));
});
//Method 2
$("a").each(function(){
textArr.push($.trim($(this).text()));
});
方法1和方法2的优缺点是什么?
我会使用 map()
,因为它就是为了这个目的而存在的(不需要临时数组)
var textLinks = $("a").map(function(){
return $.trim($(this).text());
});
编辑:如果我正在寻找最快的解决方案,我会从放弃jQuery;)开始
var textLinks = (Array.prototype.slice.call(document.links)).map(function(a){ return a.textContent || a.innerText })
或者,如果您担心没有Array.map
使用普通旧while循环的浏览器。看起来一团糟,但很快。
var textLinks = (function(links, out){
var i = links.length, a;
while(a = links[--i]){ out[i] = a.textContent || a.innerText }
return out;
}(document.links,[]))
添加到 jsperf 测试
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 优化的方法;标题“;只发送一次POST请求即可访问网站
- 优化javascript的任何更好的方法
- ExtJS :: 存储加载数据方法优化
- 加密一组数据以馈送图表的优化方法
- jQuery .each() 函数 - 优化了哪个方法
- 有哪些方法可以优化js上的脚本
- 有没有一种方法可以将所有语言添加到优化的RequireJS项目中
- 简单级别,在DOM中选择元素,优化,创建方法函数
- 从给定的id中选择特定的元素并设置焦点.优化的方法
- 优化大型jquery POST的最佳方法是什么?
- 方法优化- interface_si
- 还有另一种方法可以优化这种冒泡排序
- 优化参数发送给多个方法的方式
- 本机map, filter等方法是否优化为尽可能在单个中间数组上操作
- 优化递归getJSON方法
- 优化Typescript(或JavaScript)函数/方法,以减少使用observable时的重复
- 优化Javascript方法来填充或清空数组
- 优化jQuery选择器的最佳方法及其原因