Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript堆叠排序_Javascript_Sorting - Fatal编程技术网

Javascript堆叠排序

Javascript堆叠排序,javascript,sorting,Javascript,Sorting,我有一个这样的对象数组。我真的不知道从哪里开始,这就是为什么我没有发布任何尝试。即使是在正确的方向上轻推也会有很大帮助 我想要的是我的数据在湿度和温度之间进行排序(基于50:50的权重),理想的(最高排名)是60湿度和40温度 这是我的数据 Array[5] 0: Object humidity: 65 name: "HLLM" temp: 25 __proto__: Object 1: Object humidity: 61 name:

我有一个这样的对象数组。我真的不知道从哪里开始,这就是为什么我没有发布任何尝试。即使是在正确的方向上轻推也会有很大帮助

我想要的是我的数据在湿度和温度之间进行排序(基于50:50的权重),理想的(最高排名)是60湿度和40温度

这是我的数据

Array[5]
  0: Object
    humidity: 65
    name: "HLLM"
    temp: 25
    __proto__: Object
  1: Object
    humidity: 61
    name: "LICD"
    temp: 27
    __proto__: Object
  2: Object
    humidity: undefined
    name: "EW3448"
    temp: 28
    __proto__: Object
  3: Object
    humidity: 42
    name: "HLLT"
    temp: 29
    __proto__: Object
  4: Object
    humidity: 30
    name: "LMML"
    temp: 30
亲切问候,,
Harry

将javascript
排序方法与函数一起使用

var data = [
  {
    humidity: 65,
    name: "HLLM",
    temp: 25
  },
  {
    humidity: 61,
    name: "LICD",
    temp: 27
  },
  {
    humidity: 70,
    name: "TEST",
    temp: 28
  }
]

data.sort(function(a, b) {
  // Takes the average of humidity and temperature
  // You can use some other system e.g. calculating absolute difference between 60 and 40 and so on
  return (a.humidity + a.temp) / 2 - (b.humidity + b.temp) / 2;
});
这将按最低温度/湿度到最高温度/湿度对数据进行排序


请参见

那么,根据您在此处提供的数据,完成的排序顺序是什么?我不明白你的排序标准/方法。这是一个开始:上面是我在谷歌上搜索“javascript中的排序数组”时的第四个结果。OP真的希望这样排序吗?我不这么认为,因为他说湿度=60,温度=40应该是最高的。这将使总计100的所有湿度/温度组合处于同一水平。