far*_*eed 4 javascript arrays sorting
我有一个对象数组,我想通过最接近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}
]
Run Code Online (Sandbox Code Playgroud)
我想通过最接近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}
]
Run Code Online (Sandbox Code Playgroud)
因为11.4最接近11,然后是10.5然后是12.4.
您可以按值的绝对增量和所需值进行排序.
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);Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55 次 |
| 最近记录: |