【发布时间】:2011-06-14 13:42:22
【问题描述】:
Array.prototype.sort 如何处理数组中未定义的值?
var array = [1,undefined,2,undefined,3,undefined,4];
var array2 = [];
array2[0] = 1;array2[2] = 2;array2[4] = 3;array2[6] = 4;
当调用array.sort(function(l,r) { ... }); 时,值undefined 永远不会作为l 或r 传入。
我能否保证所有浏览器的所有未定义值总是位于数组的末尾?
以下循环是否会处理数组中的所有非undefined 数据
array.sort();
for (var i = 0; array[i] !== undefined; i++) {
// handle array
}
您可以假设没有人将undefined 声明为变量。
【问题讨论】:
-
在 IE github.com/documentcloud/underscore/issues/…
标签: javascript sorting cross-browser