javascript - 如何对div数据进行降序排序

标签 javascript html

我有一个显示特定颜色百分比的 div。我想按降序对 div 百分比进行排序。如何进行? 下面是我的代码

function displayLegend() {
   for (var key in colorVariable1) {
      let percentage = (countVariable1[key] / totalPCICount) * 100; 
      if(percentage) {
          percentage = percentage.toFixed(2);
      }
      var line = document.createElement("div");
      line.innerHTML = '<span class="box"  style=" background: ' + colorVariable1[key] + ';"></span><span>' + key + '(' + percentage + '%)</span>';
      document.getElementById("legendInfo").appendChild(line);
   }
}              

下面是图片。我想对百分比部分进行排序。

enter image description here

<小时/>

最佳答案

您可能需要首先以结构化形式存储数据,以便能够对其进行排序。

我重写了您的示例以展示我的想法 - 未经测试。

var values = []; // holder for rows

for (var key in colorVariable1) {
    let percentage = (countVariable1[key] / totalPCICount) * 100; 
    if(percentage) {
        percentage = percentage.toFixed(2);
    } else {
        percentage = 0;
    }

    // row definition
    let entry = {
        value: percentage,
        html: '<span class="box"  style=" background: ' + colorVariable1[key] + ';"></span><span>' + key + '(' + percentage + '%)</span>';
    }

    values.push(entry); // add row to holder
 }

// sort rows in holder by value (percentage)
// see: https://stackoverflow.com/questions/979256/sorting-an-array-of-objects-by-property-values
values.sort(function(a, b) {
    return parseFloat(b.value) - parseFloat(a.value);
});

// add sorted lines
for(var i in values){
    var line = document.createElement("div");
    line.innerHTML = values[i].html;
    document.getElementById("legendInfo").appendChild(line);    
}

关于javascript - 如何对div数据进行降序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59032170/

相关文章:

javascript - 如何添加值以从输入字段中选择标签?

layout - anchor (<a>) 维度,内部只有内联 block 跨度

javascript - 删除第二个表中的所有记录后如何删除带有日期值的tr?

javascript - 更改 Node 服务器端的innerhtml

javascript - ES6 `export * from import` ?

javascript - 将 document.write 替换为 document.getelementbyid

javascript - 如何使用正则表达式搜索嵌套 div 的类名

javascript - 使用字符串访问多维对象?

html - WordPress无法将文件写入磁盘

html - 在 100% 高度的表格中滚动单元格