javascript - 使用 JavaScript 对数字进行排序

标签 javascript activex sorting

我正在从本地文件中读取一些数字,然后尝试使用 JavaScript 对数字进行排序。读取是在 ActiveXObject 的帮助下完成的,排序是在 javascript 的帮助下完成的。

当我不使用 ActiveX 时,可以进行排序,但在存在 ActiveX 的情况下,排序不起作用。在 ActiveX 存在的情况下使用此类功能是否有任何限制?如果有人可以告诉我代码需要更改的地方,我将不胜感激。

这是代码。

<html>
<script>
var oRequest;
var i;
var numbers=new Array();
var b= new Array();
var j
var k;
var temp;
var temp1;

if(document.all) {
  oRequest = new ActiveXObject("Microsoft.XMLHTTP")
}
else {

  oRequest = new XMLHttpRequest();
}


oRequest.open("GET", "file:///C:/Test.txt", true);
oRequest.send(null);


numbers= oRequest.responseText.split("\n");


for(i=0;i<10;i++)
{
  for(j=0;j<9;j++)
  {
    if(numbers[j]>numbers[j+1])
    {
      temp=numbers[j+1];
      numbers[j+1]=numbers[j];
      numbers[j]=temp;
    }
  }}

document.write(numbers);
document.write("<br>");
</script>
</html> 

最佳答案

数组numbers不包含数字,它包含字符串。当您比较它们时,它们将作为字符串进行比较,而不是数字。

解析数组中的字符串:

for (var i = 0; i < numbers.length; i++) numbers[i] = parseInt(numbers[i], 10);

关于javascript - 使用 JavaScript 对数字进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9763300/

相关文章:

c# - 如何将 ActiveX 与 ASP.NET 结合使用

ASP.NET/ActiveX/Silverlight 屏幕捕获

python - 如何按键对字典进行排序?

javascript - 在 JavaScript 中如何获取当天的秒数?

javascript - Chrome Commands API 使默认弹出窗口可见

javascript - 网页的 jQuery 滚动功能无法正常工作?

c - 对二维数组进行排序,使最大的元素位于主对角线上

javascript - 如何使用 jQuery 定位单个元素

c++ - VB和C++ ActiveX控件以不同的方式保存其信息,我如何实现C++ ActiveX控件来替换VB ActiveX?

c - 排序**矩阵结构