某种内部内容
Sort of internal content
本文关键字:内部 更新时间:2023-09-26
如何根据子对象的值对对象进行排序?
示例:
[
{
name: 'Jhon',
old: 20,
last_message: {
text: 'blah',
timestamp: 1378188846
}
},
{
name: 'Bill',
old: 45,
last_message: {
text: 'Hello, Jhon!',
timestamp: 1378188956
}
},
{
name: 'Steave',
old: 34,
last_message: {
text: 'Bye! ;)'
timestamp: 1378188952
}
}
]
这应该是独立于最大last_message.timestamp
的对象的顺序吗。
怎么做
排序时,可以指定自定义比较函数
my_list.sort(function(a, b){return ...});
如果a
小于b
,则返回负数;如果a
大于b
,则返回正数;如果相等,则返回0。
顺便说一句,你真的应该传递一个函数,因为默认的函数会将元素转换为字符串,然后比较字符串,这很少是你想要的,除非数组只包含字符串。
不是开玩笑的,例如,如果你有一个数字数组,并在上面调用sort
,你会对排序的结果感到惊讶
[1, 2, 3, 30, 20, 10]
默认情况下提供
[1, 10, 2, 20, 3, 30]
因为字符串转换。
在您的情况下,排序功能可能是
function(a, b) {
return a.last_message.timestamp - b.last_message.timestamp;
}
或者相反,这取决于您希望最近的消息是第一个还是最后一个
arr.sort(function(a, b) {
return a.last_message.timestamp - b.last_message.timestamp;
});
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调用函数内部的函数
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 在phonegap应用程序内部重定向不起作用
- 使用此选项选择父类内部的类
- 访问JSON对象内部的数组元素
- 从模块内部访问Express装载路径
- AngularJs指令,该指令创建内部有数据对象的新指令
- 如何使用内部对象构造对象
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 用Javascript修改内部标记的CSS规则
- javascript函数内部的代码用逗号而不是分号分隔
- 正在$rootScope上达到控制器作用域$在内部控制器上
- 光线投射从内部投射时不会碰到网格
- javascript无法重新定义函数内部的全局对象
- 在不移动内部文本的情况下缩放元素的效果
- JavaScript goto 标签如何使用内部循环
- Javascript:循环属性内部的条件递增或递减
- 将当前用户的 ID 推送到 meteorjs 中集合/文档的内部数组
- 如何侦察内部存根返回与西农