简体   繁体   English

我们可以使用javascript对多个字段进行数据排序吗

[英]can we sort data for multiple field using javascript

In my travel website (just like airbnb ), user can sort record by Availability ,Price ,Location etc... 在我的旅游网站上(就像airbnb一样),用户可以按可用性,价格,位置等对记录进行排序...

My website data ( record ) , where in json format only.I can't fetch record from the database. 我的网站数据(record),仅以json格式。我无法从数据库中获取记录。

My Data Record : 我的数据记录:

var json = [
        {"id":"1","tagName":"apple",'lat':"37.764121333563985","lng":"-122.43083545083414",'cat':'bus','price':50},
        {"id":"2","tagName":"orange",'lat':"37.760390258066806","lng":"-122.40842161915589",'cat':'bus','price':50},
        {"id":"3","tagName":"banana",'lat':"37.76821074033546","lng":"-122.39946165364097",'cat':'car','price':70},
        {"id":"4","tagName":"watermelon",'lat':"37.76903501995947","lng":"-122.43674595206681",'cat':'bus','price':50},
        {"id":"5","tagName":"pineapple",'lat':"37.775329253488984","lng":"-122.42896304538613",'cat':'car','price':50},
        {"id":"6","tagName":"pineapple",'lat':"37.76808825514635","lng":"-122.42957791610439",'cat':'bus','price':30},
        {"id":"7","tagName":"pineapple",'lat':"37.764609542480706","lng":"-122.43126917941493",'cat':'bus','price':50},
        {"id":"8","tagName":"pineapple",'lat':"37.77486256468261","lng":"-122.40143099838457",'cat':'car','price':20},
        {"id":"9","tagName":"pineapple",'lat':"37.770304718740945","lng":"-122.42489358892846",'cat':'bus','price':50},
        {"id":"10","tagName":"pineapple",'lat':"37.7628338732316","lng":"-122.42631843030665",'cat':'car','price':10}
    ];

My Javascript Code : 我的Javascript代码:

$(json).each(function(i,marker){
    if (cat == marker.cat || price <= marker.price) || ( price <= marker.price && cat == marker.cat){
     var content = 'MY DATA CONTENT USING MARKER';
     $('.result').append(content);  
   }
});

My if condition is not working. 我的if条件不起作用。

Can any one help? 可以帮忙吗?

如果您的条件括号全部弄乱了,请尝试以下操作:

if ((cat == marker.cat || price <= marker.price) || ( price <= marker.price && cat == marker.cat))
$(json).each(function(i,marker){
    if (cat == marker.cat || price <= marker.price) || ( price <= marker.price && cat == marker.cat){
     var content = 'MY DATA CONTENT USING MARKER';
     $('.result').append(content);  
   }

In this code the value of cat is not defined, you need to either change it to 在此代码中,未定义cat的值,您需要将其更改为

this.cat or json[i].cat

to access the json values. 访问json值。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM