Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表的排序算法_Javascript_Html_Algorithm_Sorting - Fatal编程技术网

Javascript 表的排序算法

Javascript 表的排序算法,javascript,html,algorithm,sorting,Javascript,Html,Algorithm,Sorting,我需要一个排序算法做成一个函数来帮助处理这个表 代码如下所示: 我需要得到b1、b2、b3和b4订单。然而,每次我尝试排序时,似乎都无法通过“b”。如果我写b10,那么它也会首先出现,因为它只计算b10中的b1。b9将最后出现,即使有b10 总之:我在这里为一个类似的表编写了一个类似的代码: 函数sortData(){ var tableData=document.getElementById('data_table').getElementsByTagName('tbody')。项(0); v

我需要一个排序算法做成一个函数来帮助处理这个表

代码如下所示:

我需要得到b1、b2、b3和b4订单。然而,每次我尝试排序时,似乎都无法通过“b”。如果我写b10,那么它也会首先出现,因为它只计算b10中的b1。b9将最后出现,即使有b10

总之:我在这里为一个类似的表编写了一个类似的代码:

函数sortData(){
var tableData=document.getElementById('data_table').getElementsByTagName('tbody')。项(0);
var rowData=tableData.getElementsByTagName('tr');
对于(var i=0;i麻木2){
tableData.insertBefore(rowData.item(j+1),rowData.item(j));
}
}
}
}
//表数据排序结束。。。。
结果惨败


我需要帮助。有人能帮我创建这个函数吗。我在一天内就学会了JS

排序函数目前非常脆弱,但您应该能够从中了解并改进它

函数排序表(){
var parent=document.getElementById(“数据表”);
var rows=Array.from(parent.querySelectorAll(“tr”);
行排序(函数(a,b){
var-aText=a.children[1].innerText.match(/[a-z]+/i)[0];
var aNumber=parseInt(a.children[1].innerText.match(/\d+/g)[0]);
var bText=b.children[1].innerText.match(/[a-z]+/i)[0];
var bNumber=parseInt(b.children[1].innerText.match(/\d+/g)[0]);
if(aTextbText)返回1;
返回aNumber-b编号;
});
rows.forEach(函数(项){parent.appendChild(项);});
}
document.getElementById(“短数据”).addEventListener(“单击”,排序表)
表{margin bottom:1em;}
表tr td:first child{宽度:25%;}

最后的B10
01b6
04b3
06b1
02b5
aa1
aa10

short_data
我需要一个函数来完成第一个:你太棒了,我还有15个声望点,我想你,如果我只有一列而不是两列呢?顺便说一句,这不是家庭作业或类似的东西。这更像是一个项目。我昨天和今天都被卡住了。一个专栏(或第一个专栏)是。children[0]
function sortData(){
  var tableData = document.getElementById('data_table').getElementsByTagName('tbody').item(0);
  var rowData = tableData.getElementsByTagName('tr');            
  for(var i = 0; i < rowData.length - 1; i++){
    for(var j = 0; j < rowData.length - (i + 1); j++){

      var txt = parseInt(rowData.item(j).getElementsByTagName('td').item(0).innerHTML);
      var numb = txt.match(/\d/g);
      numb = numb.join("");

      var txt2 = parseInt(rowData.item(j+1).getElementsByTagName('td').item(0).innerHTML);
      var numb2 = txt2.match(/\d/g);
      numb2 = numb2.join("");
      if(numb > numb2){
        tableData.insertBefore(rowData.item(j+1),rowData.item(j));
      }
    }
  }
}
// Table data sorting ends....