我有一个具有多个值的对象。
{Object
{ value1: 1204
value2: 5
value3: blah
},
{ value1: 1204
value2: 3
value3: blah
},
{ value1: 942
value2: 1
value3: blah
},
etc
}
我需要做的是在用value1
和value2
渲染对象之前对对象进行排序。我的在线搜索找不到任何好的解决方案。
我下面的内容显然不起作用。它首先按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;
};
对我的对象进行排序的有效方法是什么?
答案 0 :(得分:3)
results.sort((a, b) => a.value1 - b.value1 || a.value2 - b.value2);
如果value1的减法为0(虚假等于),则它将基于value2执行第二排序。您不能将它们分开分类,因为它不记得以前的分类。
如果您希望value2的准确性更高,请首先执行。