Javascript堆叠排序

时间:2014-06-12 16:16:44

标签: javascript sorting

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

我想要的是我的数据在湿度和温度之间进行分类(基于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

亲切的问候, 哈利

1 个答案:

答案 0 :(得分:0)

将javascript sort方法与函数一起使用。

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;
});

这将按最低温度/湿度对最高温度/湿度对数据进行排序。

请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort