我正在练习数据可视化库 d3.js,我正在使用与以下内容相同的随机数据生成器:
function generateRandomData() {
var i,
data = [];
for (i = 0; i < 100; i += 1) {
data.push(Math.random() * 100);
}
return data;
}
我存储该值并尝试对其进行排序,如下所示:
var data = generateRandomData();
data.sort();
不幸的是,排序后的数据集没有完全排序——一些值实际上是不正确的。例如,我会有 [12, 15, 18, 21, 3, 18 ...] 这样的数字。排序函数不准确的原因是什么?
注意:我找到了一个合适的解决方案,解决了我的问题:
data.sort(function (a, b) { return b - a; });
我只是想知道为什么 sort() 不可靠。