Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript从json数组中为In或Object.keys循环排序帖子_Javascript_Jquery_Arrays_Json - Fatal编程技术网

如何使用javascript从json数组中为In或Object.keys循环排序帖子

如何使用javascript从json数组中为In或Object.keys循环排序帖子,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我想知道如何使用for in或object.keys循环,通过json提要url中的帖子数组中的一个对象对帖子进行排序。这是我的3篇文章的json提要示例: { "entry":[ { "id": 1, "thumbnail": "/images/1.jpg", "title": "This is a Title 1", "time": "13, Oct 2016",

我想知道如何使用for in或object.keys循环,通过json提要url中的帖子数组中的一个对象对帖子进行排序。这是我的3篇文章的json提要示例:

{
    "entry":[
         {
            "id": 1,
            "thumbnail": "/images/1.jpg",
            "title": "This is a Title 1",
            "time": "13, Oct 2016",
            "summary": "Lorem ipsum dolor sit amet.",
            "comCount": 5
        },
         {
            "id": 2,
            "thumbnail": "/images/2.jpg",
            "title": "This is Post Title 2",
            "time": "14, Oct 2016",
            "summary": "Lorem ipsum dolor sit amet.",
            "comCount": 0
        },
         {
            "id": 3,
            "thumbnail": "/images/3.jpg",
            "title": "This is Post Title 3",
            "time": "15, Oct 2016",
            "summary": "Lorem ipsum dolor sit amet.",
            "comCount": 10
        }
    ]
}
正如你看到的,有一个对象“comCount”是指条目的评论数,我真正需要的是按照讨论最多的顺序来排列我的帖子

这是我的代码,但只是默认情况下给我顺序:

$(function () {

    var $mostDiscussed = $('.most-discussed');

    $.ajax({
        type: 'GET',
        url: '/json/feeds/api.json',
        dataType: 'json',
        success: function(data) {
            var htmlcode= '<ul>';
            var feedcode = '';
            for (var i=0; i<data.entry.length; i++) {
                var id = data.entry[i].id,
                    title = data.entry[i].title,
                    thumbnail = data.entry[i].thumbnail,
                    summary = data.entry[i].summary;
                    time = data.entry[i].time,
                    count = data.entry[i].comCount,
                    thumb = '<img width="100%" src="' + thumbnail + '" title="' + title + '" alt=" ' + title + '" />';
                feedcode += '<li id="' + id + '" class="post">' + thumb + '<h3>' + title + '</h3><ul><li class="meta-time">' + time + '</li><li class="meta-comments">' + count + ' Comments</li></ul><p>' + summary + '<p></li>';
            }
            feedcode += '</ul>';
            htmlcode += feedcode;
            $mostDiscussed.html(htmlcode);
        }
    });

})
$(函数(){
变量$mostDiscussed=$('讨论最多');
$.ajax({
键入:“GET”,
url:“/json/feeds/api.json”,
数据类型:“json”,
成功:功能(数据){
var htmlcode='
    '; var feedcode=''; 对于(var i=0;i使用javascript
    sort()
    函数和自定义比较器函数,根据对象数组上的对象值进行排序,如。对于前端,只需排序,然后循环数据

    function compare(a,b) {
      if (a.comCount > b.comCount)
        return -1;
      if (a.comCount < b.comCount)
        return 1;
      return 0;
    }
    
    功能比较(a、b){
    如果(a.comCount>b.comCount)
    返回-1;
    如果(a.comCount
    $(函数(){
    风险值数据=[
    {
    “id”:1,
    “缩略图”:“/images/1.jpg”,
    “标题”:“这是标题1”,
    “时间”:“2016年10月13日”,
    “概述”:“Lorem ipsum dolor sit amet.”,
    “comCount”:5
    },
    {
    “id”:3,
    “缩略图”:“/images/3.jpg”,
    “标题”:“这是帖子标题3”,
    “时间”:“2016年10月15日”,
    “概述”:“Lorem ipsum dolor sit amet.”,
    “通信量”:10
    },
    {
    “id”:2,
    “缩略图”:“/images/2.jpg”,
    “标题”:“这是帖子标题2”,
    “时间”:“2016年10月14日”,
    “概述”:“Lorem ipsum dolor sit amet.”,
    “comCount”:0
    }
    ]
    功能比较(a、b){
    返回(b.comCount-a.comCount)
    }
    数据。排序(比较);
    var htmlcode='
      '; var feedcode=''; 对于(var i=0;i使用javascript
      sort()
      函数和自定义比较器函数,根据对象数组上的对象值进行排序,如。对于前端,只需排序,然后循环数据

      function compare(a,b) {
        if (a.comCount > b.comCount)
          return -1;
        if (a.comCount < b.comCount)
          return 1;
        return 0;
      }
      
      功能比较(a、b){
      如果(a.comCount>b.comCount)
      返回-1;
      如果(a.comCount
      $(函数(){
      风险值数据=[
      {
      “id”:1,
      “缩略图”:“/images/1.jpg”,
      “标题”:“这是标题1”,
      “时间”:“2016年10月13日”,
      “概述”:“Lorem ipsum dolor sit amet.”,
      “comCount”:5
      },
      {
      “id”:3,
      “缩略图”:“/images/3.jpg”,
      “标题”:“这是帖子标题3”,
      “时间”:“2016年10月15日”,
      “概述”:“Lorem ipsum dolor sit amet.”,
      “通信量”:10
      },
      {
      “id”:2,
      “缩略图”:“/images/2.jpg”,
      “标题”:“这是帖子标题2”,
      “时间”:“2016年10月14日”,
      “概述”:“Lorem ipsum dolor sit amet.”,
      “comCount”:0
      }
      ]
      功能比较(a、b){
      返回(b.comCount-a.comCount)
      }
      数据。排序(比较);
      var htmlcode='
        '; var feedcode='';
        对于(var i=0;i您可以对提要对象进行排序,然后进行迭代

        函数SortData(){
        变量馈送={
        “条目”:[{
        “id”:1,
        “缩略图”:“/images/1.jpg”,
        “标题”:“这是标题1”,
        “时间”:“2016年10月13日”,
        “概述”:“Lorem ipsum dolor sit amet.”,
        “comCount”:5
        }, {
        “id”:2,
        “缩略图”:“/images/2.jpg”,
        “标题”:“这是帖子标题2”,
        “时间”:“2016年10月14日”,
        “概述”:“Lorem ipsum dolor sit amet.”,
        “comCount”:0
        }, {
        “id”:3,
        “缩略图”:“/images/3.jpg”,
        “标题”:“这是帖子标题3”,
        “时间”:“2016年10月15日”,
        “概述”:“Lorem ipsum dolor sit amet.”,
        “通信量”:10
        }]
        };
        让sortedData=feed.entry.sort(函数(obj1,obj2){
        返回obj2.comCount-obj1.comCount
        });
        返回{
        条目:Sortedata
        };
        }
        $(函数(){
        变量$mostDiscussed=$('讨论最多');
        var data=SortData();
        var htmlcode='
          '; var feedcode=''; 对于(变量i=0;i'+thumb+'+title+'
          • '+time+'
          • '+count+'comments
            • >; } feedcode+='
            '; htmlcode+=feedcode; $mostDiscussed.html(htmlcode); });

        您可以对提要对象进行排序,然后进行迭代

        函数SortData(){
        变量馈送={
        “条目”:[{
        “id”:1,
        “缩略图”:“/images/1.jpg”,
        “标题”:“这是标题1”,
        “时间”:“2016年10月13日”,
        “概述”:“Lorem ipsum dolor sit amet.”,
        “comCount”:5
        }, {
        “id”:2,
        “缩略图”:“/images/2.jpg”,
        “标题”:“这是帖子标题2”,
        “时间”:“2016年10月14日”,
        “概述”:“Lorem ipsum dolor sit amet.”,
        “comCount”:0
        }, {
        “id”:3,
        “缩略图”:“/images/3.jpg”,
        “标题”:“这是帖子标题3”,
        “时间”:“2016年10月15日”,
        “概述”:“Lorem ipsum dolor sit amet.”,
        “通信量”:10
        }]
        };
        让sortedData=feed.entry.sort(函数(obj1,obj2){
        返回obj2.comCount-obj1.comCount
        });
        返回{
        条目:Sortedata
        };
        }
        $(函数(){
        变量$mostDiscussed=$('讨论最多');
        var data=SortData();
        var htmlcode='
          '; var feedcode=''; for(var)