Js根据相同列的id按不同列进行二次排序
js secondary sort by different column depending on id of equal column
我有一个水果采摘网站。有五名员工,一个上上午班,一个上下午班。
在月底,看看谁是最好的工人,他们想排序谁拥有最多(一天内的物品)。
他们想使用的第二种排序是,如果有平局,那么他们想比较谁在他们一起工作的日子里摘了更多的水果。在数组中处理这个有一个sd-???每个与他们一起工作的员工的项目,sd-??是通过将两个员工的id加在一起计算出来的,所以当sd-111222 April和Bruno在同一天做的时候。谁在一天中采摘了更多,也会得到一个1,增加到这个字段sd-111222。
这是我目前看到的代码。
<script>
var workers = [
{"id":"111","name":"April", "most":"7","sd-111222":"1","sd-111333":"2","sd-111444":"2","sd-111555":"2"},
{"id":"222","name":"Bruno", "most":"7","sd-111222":"2","sd-222333":"1","sd-222444":"2","sd-222555":"2"},
{"id":"333","name":"Carlos","most":"6","sd-111333":"1","sd-222333":"2","sd-333444":"2","sd-333555":"1"},
{"id":"444","name":"Dwayne","most":"5","sd-111444":"1","sd-222444":"1","sd-333444":"1","sd-444555":"2"},
{"id":"555","name":"Ed", "most":"5","sd-111555":"1","sd-222555":"1","sd-333555":"2","sd-444555":"1"}
];
workers.sort(function(a,b) {
return a.most == b.most ? b.id - a.id : b.most - a.most;
});
console.log(workers);
</script>
由<<p>哪些strong>最然后 id 。我想要的是类似下面二级排序的逻辑,但我不知道如何应用它。
如果most等于
获取两个相等的五线谱的id
然后寻找sd-???包含以下两个id
和排序哪个更大
在我的例子中顺序应该是
222(与111相当,但高于sd-111222)
111年333年444(与555相差无几,但比sd-444555高)
555年我如何在js中应用这个?
我想这就行了
return (a.most == b.most)
? (b["sd-" + a.id + b.id] - a["sd-" + a.id + b.id])
: (b.most - a.most);
已更新的小提琴
相关文章:
- 在给定曲线的最大高度的情况下,获取二次曲线的 Y 值
- 使用一次更新对有序列表中的元素重新排序
- 在HTML5画布上慢慢绘制二次曲线
- 二次曲线:替换鼠标单击的键盘笔划
- 如何在画布上绘制文本,该文本遵循使用二次曲线方法绘制的二次曲线
- 隐藏菜单上的内容链接二次点击
- 如何保存一个<模板>供二次使用
- Jquery UI拖拽和排序- 2次出现被拖放的项目
- Jquery表排序一次
- 面料JS:我需要删除一个二次曲线的箭头工具后,一旦创建在画布上
- 如何按列值排序二维数组
- 二次曲线:我能确定顶点是什么吗?
- 二次曲线长度
- Js根据相同列的id按不同列进行二次排序
- 什么是错误的我的代码在JavaScript的二次公式
- 二次JavaScript错误
- 二次损坏:Express.js没有看到错误页面.主要损伤:?新人'Mongoose的错误
- 排序二维Javascript数组
- 如何用抛物线找到二次曲线的控制点
- 用二次贝塞尔曲线和三次贝塞尔曲线绘制椭圆