0
我创建了一个5x2 <table>
与id="competitors"
。Javascript /排序对象数组
我想通过自己的位置财产(pos
)用下面的代码为对象如果onclick="sortData()"
事件发生的竞争对手进行排序:
function getTableData() {
var tab = document.getElementById("competitors");
var data = [];
for(var i=0;i<tab.rows.length;i++) {
var competitor = {
name: tab.rows[i].cells[0],
pos: tab.rows[i].cells[1]
};
data.push(competitor);
}
return data;
}
function sortData() {
var sortedData = getTableData();
sortedData.sort(function(a,b){
return parseInt(a.pos) - parseInt(b.pos);
});
for(var i = 0; i < sortedData.length;i++) {
console.log(sortedData[i].name.innerHTML, sortedData[i].pos.innerHTML);
}
}
的问题是,在控制台打印出同一张桌子。但是,如果我不添加比较功能,它按字母顺序排序。请帮助我了解正在发生的事情。 (我昨天开始JS)
排序它不会对DOM做任何更改,您需要进行这些更改。 – epascarello