如何根据两个值的乘积/商对数组进行排序
How can I sort an array by the product/quotient of two values?
我有一组帖子。每个帖子都有"视图"answers"点赞",其中包含数组中用户的_id。我想按点赞率对数组进行排序。
但这不起作用。
posts.sort(function (a, b) {
return (b.likes.length * 100) / b.views.length
});
{
"title":"Post 1",
"views":"[1, 2, 3, 4, 5, 6]",
"likes":"[1, 2]"
}
{
"title":"Post 2",
"views":"[1, 2, 3, 4, 5, 6]",
"likes":"[1, 2, 3, 4, 5, 6]"
}
{
"title":"Post 3",
"views":"[1, 2, 3, 4, 5, 6, 7, 8, 9]",
"likes":"[1, 2, 3, 4, 5]"}
}]
有什么建议吗?
您非常接近,只是忘记了将a
和b
相互关联:
posts.sort(function (a, b) {
var arate = (a.likes.length * 100) / a.views.length,
brate = (b.likes.length * 100) / b.views.length;
return arate - brate;
});
这将按升序排列。如果要下降,请将返回值更改为return brate - arate;
相关文章:
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- Javascript中的多维数组排序索引问题
- 如何按日期对Javascript对象数组排序
- 数组排序后显示更改
- 当许多元素相等时,Javascript数组排序无法正常工作
- Javascript数组排序速度受字符串长度的影响
- 按唯一键将对象数组排序为数组
- 以 js 为单位的数组排序
- js 数组排序无法正常工作
- 数组排序.论点从何而来
- 不需要的数组排序
- 数组排序不正确/不可预测,使用 indexOf 时
- Javascript将数组排序到树中
- 随后的多维数组排序会产生意外的结果
- 数组排序基于纯javascript搜索文本匹配
- Javascript自定义数组按数组排序
- 使用字符串按属性错误对对象进行数组排序
- 多维数组排序
- JavaScript与PHP在数组排序中的对比
- Javascript-关联数组排序