React.js 按多个值对对象进行排序

sta*_*les 1 javascript sorting reactjs

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

{Object
  { value1: 1204
    value2: 5
    value3: blah
  },
  { value1: 1204
    value2: 3
    value3: blah
  },
  { value1: 942
    value2: 1
    value3: blah
  }, 
  etc
}
Run Code Online (Sandbox Code Playgroud)

我需要做的是在渲染对象之前对对象进行排序value1value2。我在网上搜索没有找到好的解决方案。

我下面的内容显然不起作用。它首先按 value1 排序,然后按 value2 排序。我尝试过类似于链接的功能,以及其他一些尝试。但我还没有成功。

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

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

Tap*_*lar 5

results.sort((a, b) => a.value1 - b.value1 || a.value2 - b.value2);
Run Code Online (Sandbox Code Playgroud)

如果value1的减法为0(falsy等于),则会根据value2进行二次排序。您不能将它们分开排序,因为它不记得以前的排序。

如果希望value2的排序优先级更高,请先执行。