【发布时间】:2021-09-04 23:22:01
【问题描述】:
你好吗?这就是事情,我一直在尝试制作一个 btn,当用户点击它时按价格订购一系列产品,但它不起作用,我认为这是我使用排序的排序功能,因为我已经不太了解排序功能了,这就是我想要做的:
function ordmayorPrecio(arrprod) {
arr = arrprod.sort(function (a,b){
let precioa = parseInt(a.cost)
let preciob = parseInt(b.cost)
return precioa-preciob;
})
}
function ordmenorPrecio(arrprod) {
arr = arrprod.sort(function (a,b){
let precioa = parseInt(a.cost)
let preciob = parseInt(b.cost)
return preciob-precioa;
})
}
这就是我尝试使按钮起作用的方式:
document.addEventListener("DOMContentLoaded", function (e) {
getJSONData(PRODUCTS_URL)
.then((result) => result.data)
.then((productdata) => mostrarProductos(productdata));
document.getElementById("sortDescPrice").addEventListener("click", function(){
mostrarProductos(ordmenorPrecio(productdata));
});
document.getElementById("sortAscPrice").addEventListener("click",function(){
mostrarProductos(ordmayorPrecio(productdata));
})
});
这就是我尝试将其附加到 HTML 的方式:
function mostrarProductos(arr){
let productosAppend = '';
for(let i = 0; i < arr.length; i++){
let producto = arr[i];
productosAppend += `
<a href="product-info.html" class="list-group-item list-group-item-action">
<div class="row">
<div class="col-3">
<img src="` + producto.imgSrc + `" alt="` + producto.description + `" class="img-thumbnail">
</div>
<div class="col">
<div class="d-flex w-100 justify-content-between">
<h4 class="mb-1">`+ producto.name +`</h4>
<small class="text-muted">` + producto.soldCount + ` artículos</small>
</div>
<small class="text-muted">` + producto.cost + " " + producto.currency + ` </small>
<p class="mb-1">` + producto.description + `</p>
</div>
</div>
</a>
`
}
document.getElementById("produto").innerHTML = productosAppend;
}
【问题讨论】:
标签: javascript arrays sorting