热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

通过最接近x的值对对象数组进行排序

如何解决《通过最接近x的值对对象数组进行排序》经验,为你挑选了1个好方法。

我有一个对象数组,我想通过最接近X的值对该数组进行排序.

例如,这是一个对象数组:

[
 {"name" : "some 1", "value" : 12.4},
 {"name" : "some 2", "value": 11.4},
 {"name" : "some 3", "value": 10.5},
 {"name" : "some 4", "value": 11.4}
]

我想通过最接近X的"值"对其进行排序.

假设我想对数组进行排序,使属性"value"最接近11.所以新的顺序如下:

[
  {"name" : "some 2", "value": 11.4},
  {"name" : "some 4", "value": 11.4},
  {"name" : "some 3", "value": 10.5},
  {"name" : "some 1", "value": 12.4}
 ]

因为11.4最接近11,然后是10.5然后是12.4.



1> Nina Scholz..:

您可以按值的绝对增量和所需值进行排序.

var array = [{ name: "some 1", value: 12.4 }, { name: "some 2", value: 11.4 }, { name: "some 3", value: 10.5 }, { name: "some 4", value: 11.4 }],
    value = 11;
 
array.sort(({ value: a }, { value: b }) => Math.abs(a - value) - Math.abs(b - value));

console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }

推荐阅读
author-avatar
liuningning666223
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有