【发布时间】:2019-10-09 16:53:00
【问题描述】:
我的代码如下:
data = [
{id: "15130", state: "INITIAL"},
{id: "15129", state: "LOCKED"},
{id: "10314", state: "APPROVED"},
{id: "51", state: "APPROVED"},
{id: "10313", state: "APPROVED_LOCKED"},
{id: "10315", state: "APPROVED_LOCKED"}
]
filters = [{id: "2", name: "LOCKED", count: 2}]
let result = []
_.forEach(data, (ca) => {
if (filters.length > 0) {
if (!_.some(filters, (item) => item.name === ca.state.includes('LOCKED') ? "LOCKED" : ca.state))
return;
}
result.push(ca);
});
console.log(result)
我想从状态包括"LOCKED" 的数据中获取所有记录。因此结果应该是:
result = [
{id: "15129", state: "LOCKED"},
{id: "10313", state: "APPROVED_LOCKED"},
{id: "10315", state: "APPROVED_LOCKED"}
]
但我得到了结果中的所有记录。
知道我做错了什么吗?
【问题讨论】:
-
count在这里有意义吗? -
@NinaScholz 没有。只有
name重要。
标签: javascript arrays object ecmascript-6 lodash