【发布时间】:2020-11-21 17:05:59
【问题描述】:
尝试使用 lodash 组合两个 API 的返回,我已经设法使用合并来加入其中的公共字段:
var primaryCount = [
{id: 0, name: "foo", address: "one"},
{id: 1, name: "bar", address: "two"},
];
var secondaryCount = [
{franchise_id: 1, count:4},
{franchise_id: 3, count:16},
]
var merged = _.merge(_.keyBy(primaryCount, 'id'), _.keyBy(secondaryCount, 'franchise_id'));
var values = _.values(merged);
但是,我只需要定义两个字段 id 和 franchise_id 的项目。然而,它产生的字段只存在于其中一个中(我只想要id:1):
[
{
"id": 0,
"name": "foo",
"address": "one"
},
{
"id": 1,
"name": "bar",
"address": "two",
"franchise_id": 1,
"count": 4
},
{
"franchise_id": 3,
"count": 16
}
]
我尝试使用这样的过滤器,但它为两者返回一个空数组:
var leftFiltered = _.filter(values, ['id', null]);
var rightFiltered = _.filter(leftFiltered, ['franchise_id', undefined]);
我怎样才能进行这样的内部合并?
[
{
"id": 1,
"name": "bar",
"address": "two",
"franchise_id": 1,
"count": 4
},
]
【问题讨论】:
标签: javascript merge filtering lodash