我有一个对象数组,我想根据javascript中的common date属性减少对象的数量
示例输入:
const data = [
{date:"1 Nov", foo: 123},
{date:"1 Nov", bar: 456},
{date:"2 Nov", foo: 234},
{date:"2 Nov", bar: 567}
];
预期产量
const data = [
{date:"1 Nov", foo: 123, bar: 456},
{date:"2 Nov", foo: 234, bar: 567},
];
答案 0 :(得分:0)
也许您可以使用Array#reduce
method来实现这一点,因为预期的输出是输入数组的集合。应用此方法的一种方法可能是;
result
),以了解日期与当前item
匹配的所有项目以下代码显示了此描述-希望对您有所帮助!
result
答案 1 :(得分:0)
还有另一种使用lodash的方法。我想将其包括在内。
const data = [
{date:"1 Nov", foo: 123},
{date:"1 Nov", bar: 456},
{date:"2 Nov", foo: 234},
{date:"2 Nov", bar: 567}
];
const result = _.map(
_.groupBy(data, 'date'),
(d) =>
_.reduce(
d,
(result, value) => Object.assign(result, value),
{}
)
)
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>