Javascript 如何通过Jquery按名称排序?
我只是使用Javascript 如何通过Jquery按名称排序?,javascript,jquery,sorting,Javascript,Jquery,Sorting,我只是使用Jquery从json数据在html文档中创建我的产品列表。我只是想通过点击我的标题名称来对我的产品进行排序,标题名称将按字母顺序对我的产品进行排序 我已经研究过如何做到这一点,但无法找到/理解如何通过使用json中的数据来做到这一点 感谢您的帮助。谢谢 function drawPage() { $.get('/products', function (data) { console.log(data); var prod = data.pro
Jquery
从json
数据在html文档中创建我的产品列表。我只是想通过点击我的标题名称来对我的产品进行排序,标题名称将按字母顺序对我的产品进行排序
我已经研究过如何做到这一点,但无法找到/理解如何通过使用json
中的数据来做到这一点
感谢您的帮助。谢谢
function drawPage() {
$.get('/products', function (data) {
console.log(data);
var prod = data.products;
for(var i=0; i<prod.length; i++){
var el = document.createElement('P');
el.innerHTML = prod[i].name;
$('#app').append(el);
}
})
}
document.addEventListener('load', drawPage());
函数drawPage(){
$.get('/products',函数(数据){
控制台日志(数据);
var prod=数据产品;
对于(var i=0;i您需要重写比较函数,以便按产品名称对对象数组进行排序
原型:
function drawPage() {
$.get('/products', function (data) {
console.log(data);
var prods = data.products;
//sorting by product names
prods.sort(function(a, b){
var x = a.name.toLowerCase();
var y = b.name.toLowerCase();
if (x < y) {return -1;}
if (x > y) {return 1;}
return 0;
});
for(var i=0; i<prods.length; i++){
var el = document.createElement('P');
el.innerHTML = prods[i].name;
$('#app').append(el);
}
})
}
document.addEventListener('load', drawPage());
函数drawPage(){
$.get('/products',函数(数据){
控制台日志(数据);
var prods=数据产品;
//按产品名称排序
产品分类(功能(a、b){
var x=a.name.toLowerCase();
var y=b.name.toLowerCase();
如果(xy){返回1;}
返回0;
});
对于(var i=0;i
var prod=[
{名称:“卡车”,价格:“20000”},
{名称:“汽车”,价格:“50000”},
{名称:“公共汽车”,价格:“30000”}]
函数SortByName(x,y){
返回((x.name==y.name)?0:((x.name>y.name)?1:-1));
}
$(函数(){
prod.sort(SortByName);
console.log(prod)
});
为什么使用java/python?如果我在html中使用一个按钮,可以在已排序和未排序之间切换。所有产品我只需创建一个新的函数排序(){并包含排序代码?或者我必须在我的一个函数中以某种方式包含所有代码并将其链接回html吗?@James:然后你需要保存按钮的状态(一个布尔值就足够了),并根据布尔值进行排序或不排序。每次用户单击按钮时,你都会更改其值