我有一个类似的json对象:
{
posts: [
{id: 56, title: 'something', date: '10-10-10 00:00:00'},
{id: 57, title: 'Apples', date: '10-10-16 00:00:00'},
]
}
我正在尝试学习如何在Javascript中操作数据结构。我想使用jquery根据posts
属性重新排序这些属性,因此您可以根据日期,标题或ID重新排序(默认为id)。
如何成为新手,我不知道从哪里开始我已经看到了这个answer而我不认为它是我想去的方向。
结果输出是否在同一个结构中?如何基于这种“重新排序”创建模型集合。
这个想法是允许在集合中编辑和发布一个模型,基于用于重新排序或“排序”集合的属性,从而允许更快的处理 - 所以我不必总是通过当我真的只想更新集合中的一个模型时,整个集合到服务器。
答案 0 :(得分:0)
查看JavaScript array.sort方法。它可能会做你想要的。
var posts = [{"id": 57, "title": "something"}, {"id": 56, "title": "something else"}];
posts.sort(function(a, b) { if (a.id < b.id) { return -1; } else { return 1; } });
for (var i=0; i<posts.length-1; i++) {
console.log(posts[i].title);
}
// prints "something else" followed by "something"
sort
方法接受一个传递两个元素a
和b
的函数,如果a小于b则返回-1,如果它们相等则返回0,如果a大于b,则为1。
请注意,如果您描述的JSON存储在posts
,我上面的o.posts
变量只是o
的简化版本。另请注意sort
排序,这意味着它将更改其操作的数组。