如何在javascript中按属性值对多维对象数组进行排序?

如何在javascript中按属性值对多维对象数组进行排序?,javascript,arrays,typescript,sorting,ecmascript-6,Javascript,Arrays,Typescript,Sorting,Ecmascript 6,我有以下数组: const result = [ [{value: 123, parentID: 1}, {value: 'string123', parentID: 2}], [{value: 54764, parentID: 1}, {value: 'string321', parentID: 2}], [{value: 321, parentID: 1}, {value: 'string565632', parentID: 2}], ] 我需要根据值对这个多维数组进行排序,但

我有以下数组:

const result = [
  [{value: 123, parentID: 1}, {value: 'string123', parentID: 2}],
  [{value: 54764, parentID: 1}, {value: 'string321', parentID: 2}],
  [{value: 321, parentID: 1}, {value: 'string565632', parentID: 2}],
]
我需要根据值对这个多维数组进行排序,但选择哪个对象是基于parentID的

到目前为止,我所尝试的:

const parentID = 1;
const sortedResult = result.filter((row) => {
  const selectedColumn = row.find((column) => column.parentID === parentID));
  return _.orderBy(selectedColumn, ['value'], ['asc']);
});
但这不起作用,有什么办法吗

预期的产出将是:

[
  [{value: 123, parentID: 1}, {value: 'string123', parentID: 2}],
  [{value: 321, parentID: 1}, {value: 'string565632', parentID: 2}],
  [{value: 54764, parentID: 1}, {value: 'string321', parentID: 2}],
]

要对数组进行排序,应使用array.prototype.sort

创建一个helper函数,该函数给定一个数组项,该数组项本身就是一个数组,查找具有parentID的对象,并提取其值。在.sort回调中,对要比较的两个项调用该helper函数,并返回差异:

常量parentID=1; const getValue=arr=>arr.finditem=>item.parentID===parentID.value; 常数结果=[ [{value:123,parentID:1},{value:'string123',parentID:2}], [{value:54764,parentID:1},{value:'string321',parentID:2}], [{value:321,parentID:1},{value:'string565632',parentID:2}], ]; result.sorta,b=>getValuea-getValueb;
console.logresult@CBroe,使所有对象都具有value属性和parentID属性。为了选择按哪个对象排序,可以使用parentID。