Javascript 函数正常执行,但addeventlistener赢了';t执行函数

Javascript 函数正常执行,但addeventlistener赢了';t执行函数,javascript,function,addeventlistener,Javascript,Function,Addeventlistener,我试图在单击按钮时对js对象进行排序 函数在正常调用时工作,但在添加到eventlistener时不工作 怎么了?(无法将其放入JSFIDLE,文件太大,抱歉) 您的函数正确地排序了productData。它永远不会呈现更新的数组,因此您在页面中看不到新的顺序。请尝试对productData数组使用useState var productData = TABLE_DATA; const sortButton = document.querySelector("#sort")

我试图在单击按钮时对js对象进行排序

函数在正常调用时工作,但在添加到eventlistener时不工作

怎么了?(无法将其放入JSFIDLE,文件太大,抱歉)


您的函数正确地排序了
productData
。它永远不会呈现更新的数组,因此您在页面中看不到新的顺序。请尝试对productData数组使用useState
var productData = TABLE_DATA;

const sortButton = document.querySelector("#sort");
sortButton.addEventListener('click', function () {
  productData = productData.sort(function (a, b) {
    return a.id - b.id;
  });
});



for (let i = 0; i < productData.length; i++) {
  const id = productData[i].id;
  var p = document.createElement("p");
  var text = document.createTextNode(id);
  p.appendChild(text);
  document.querySelector("#productId").appendChild(p);
}
function name() {
    productData = productData.sort(function (a, b) {
        return a.id - b.id;
      });
}
name()