JS教程:Chrome对数组的sort方法优化

2016-02-20 01:12 19 1 收藏

今天给大家分享的是由图老师小编精心为您推荐的JS教程:Chrome对数组的sort方法优化,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!

【 tulaoshi.com - Web开发 】

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)
var a = 0, b = 0;[0, 0].sort(function() {a = 1;return 0;});[0, 1].sort(function() {b = 1;return 0;});alert(a === b); // true or false ?

上面的代码,除了 Chrome 输出 false, 其它浏览器皆为 true.

原因是 Chrome 对数组的 sort 方法进行了优化:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)
function sort(comparefn) {var custom_compare = (typeof(comparefn) === function);function Compare(x,y) {if (x === y) return 0;if (custom_compare) {return comparefn.call(null, x, y);}...}

虽然是优化,但也是陷阱。想用 sort 来干点额外体力活时,一定要小心。

来源:https://www.tulaoshi.com/n/20160220/1633461.html

延伸阅读
标签: Web开发
shift :删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5]  b:1 unshift :将参数添加到原数组开头,并返回数组的长度 var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5]  b:7 注:在IE6.0下测试返回值总为undef...
标签: 浏览器
Chrome下载的主题删除方法   在Chrome中下载的网页主题不知道在哪,在个人设置里也是,不知道是怎么回事,今天小编来为大家解答。 回答:更新chrome浏览器,因为不同版本的界面不一样,然后在右上角找到自定义控制按钮,并选择设置,可以查看到chrome浏览器的状态,在外观一栏点击重置为默认主题背景的按钮后就恢复默认的主题了...
标签: Web开发
上次写的一篇《JavaScript 数组的 uniq 方法》,发现代码的问题还是存在。比如如果数组内有 undefined 元素就无法过滤等。 昨天看见 Lazy 兄弟重新更新了函数,现在他是这样子写的: Array.prototype.uniq = function() {     var resultArr = [], ...
标签: Web开发
使用JavaScript可以创建自己的对象。虽然JavaScript内部和浏览器本身的功能已十分强大,但JavaScript还是提供了创建一个新对象的方法。 使其不必像超文本标识语言那样,求于或其它多媒体工具,就能完成许多复杂的工作。 在JavaScript中创建一个新的对象是十分简单的。首先它必须定义一个对象,而后再为该对象创建一个实例。这个实例就是...
前言 一直没有系统去看过c++,因为懂得一些c的基本语法,在实际编程中用到c++,只能用到哪些看哪些,发现这样虽然能够完成大部分工作,但是有时候效率实在太低,比如说这节要讲的Std::sort()函数的使用,调了半天才调通。开通c/c++序列博客是记录在使用c++中一些难题,避免以后重犯错,当然以后会尽量挤出时间来较系统学习下c++。 ...

经验教程

695

收藏

43
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部