【发布时间】:2022-02-22 02:40:26
【问题描述】:
我正在寻找一个对象数组,并根据所选对象属性将其转换为子数组数组
例如:
[
{foo: 1, bar: a}, {foo: 2, bar: b}, {foo: 1, bar: c}, {foo: 2, bar: d}
]
使用 foo 属性创建子数组将变为:
[
[
{foo: 1, bar: a}, {foo: 1, bar: c},
],
[
{foo: 2, bar: b}, {foo: 2, bar: d}
]
]
我想不出一种有效的方法。我一直求助于创建一组我选择的值的所有唯一属性值,然后多次暴力破解它。
const distinctProperties = [...new Set(originalArray.map(item => item.foo))]
const newArray = distinctProperties.map(item => originalArray.filter(obj => obj.foo === item))
在此先感谢您的建议!
【问题讨论】:
标签: javascript arrays object data-manipulation