react.js通过多个值对对象进行排序

时间:2018-12-20 22:18:03

标签: javascript reactjs sorting

我有一个具有多个值的对象。

{Object
  { value1: 1204
    value2: 5
    value3: blah
  },
  { value1: 1204
    value2: 3
    value3: blah
  },
  { value1: 942
    value2: 1
    value3: blah
  }, 
  etc
}

我需要做的是在用value1value2渲染对象之前对对象进行排序。我的在线搜索找不到任何好的解决方案。

我下面的内容显然不起作用。它首先按value1排序,然后按value2求助。我尝试了一个function within the sort,类似于链接的内容,还有其他一些尝试。但是我没有成功。

sortObject = (results) => {
  results.sort((a, b) => a.value1 - b.value1);
  results.sort((a, b) => a.value2 - b.value2);
  console.log(results);
  return results;
 };

对我的对象进行排序的有效方法是什么?

1 个答案:

答案 0 :(得分:3)

results.sort((a, b) => a.value1 - b.value1 || a.value2 - b.value2);

如果value1的减法为0(虚假等于),则它将基于value2执行第二排序。您不能将它们分开分类,因为它不记得以前的分类。

如果您希望value2的准确性更高,请首先执行。