You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript数组按数值排序功能不生效问题咨询

问题原因

  • 排序函数datoSamanlikning读取对象属性时大小写不匹配:你往oppdrag数组中推入的对象键名为大写开头的Hopp,但排序函数里写的是全小写的hopp,读取到的值为undefined,转为数字后是NaN,导致排序逻辑完全失效。
  • 可选优化:数值转换不需要用new Number构造函数,直接用Number()或者一元加号+转换即可,避免不必要的对象包装。

修复方案

直接替换原有datoSamanlikning函数即可:

// sortere synkande  på dato 
function datoSamanlikning(a,b){
    var datoA = Number(a.Hopp), datoB = Number(b.Hopp);
    return datoB - datoA;
}  

附加优化建议

你当前代码中visTabell函数的else逻辑写在循环内部不合理,应该把判断提到循环外,避免每次遍历都重复判断数组长度,优化后代码:

// Vise tabell over oppdrag
function visTabell() {
    oppdragsTabell.innerHTML = ""; 
    if (oppdrag.length > 0) {  
        for(var el of oppdrag){
            oppdragsTabell.innerHTML += "<tr><td>" + el.Namn + "</td>" + "<td>" + el.Hopp + "</td> </tr>"; 
        }
    } else {
        oppdragsTabell.innerHTML = "unvisible";
    }
}

内容的提问来源于stack exchange,提问作者HolyLays

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 19:06:02