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

锡恩

我有以下数组:

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.

创建一个辅助函数,给定一个数组项(这里,它本身就是一个数组),找到带有 的对象parentID,并提取其值。.sort回调中,在被比较的两个项目上调用该辅助函数,并返回差异:

const parentID = 1;
const getValue = arr => arr.find(item => item.parentID === parentID).value;
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}],
];
result.sort((a, b) => getValue(a) - getValue(b));
console.log(result);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在PHP中按值对多维数组进行排序

如何在Javascript中按属性对数组进行排序

JavaScript按属性的数组值对对象数组进行排序

如何按值对多维数组进行排序

按属性值对JavaScript对象数组进行排序

在javascript中按子数组属性值对对象数组进行排序

如何按属性值对对象数组进行排序

在JavaScript中按多个对象属性对数组进行排序

如何使用自定义管道在Angular中按属性值对对象数组进行排序?

如何在 PHP 中按值对对象数组集合进行排序

按API中的值对多维数组进行排序

在php中按值对多维数组进行排序

按PHP中的值对多维关联数组进行排序

如何在Powershell中通过对象的属性值之一对数组进行排序?

如何在JavaScript中按值对整数键对象进行排序

如何在JavaScript中按日期对数组进行排序?

按值对php多维数组进行排序

按值对多维数组进行排序?

如何按顺序按每个对象中的值对数组中对象的索引进行排序

如何使用数组值对PHP中的多维数组进行排序?

如何在javascript中对嵌套的对象数组进行排序?

如何在javascript中对对象数组进行排序?

按属性值对对象数组进行排序

如何按日期对多维数组进行排序?

按值对对象数组中的每个对象进行排序

按属性对对象javascript数组进行排序

在JavaScript上按对象属性对数组进行排序

如何在Swift 3中按自定义状态值对自定义对象数组进行排序?

Swift如何按属性值对自定义对象数组进行排序