如何使用javascript从json数组中为In或Object.keys循环排序帖子
我想知道如何使用for in或object.keys循环,通过json提要url中的帖子数组中的一个对象对帖子进行排序。这是我的3篇文章的json提要示例:如何使用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",
{
"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+'>;
}
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)