4 回答
TA贡献1812条经验 获得超5个赞
在这种情况下,您缺少第一个参数——要过滤的数组
const filterdata = _.filter(test, test => test.Active.Name === tobefilter)
但是你可以这样做,前提是记住首先构建过滤后的源数据(doc)
const filterdata = _(test).filter(test => test.Active.Name === tobefilter)
const test = [{"Active": {"Id":'1', 'Name': 'Peter'}, 'Collect' : {'Id':'2', 'Name': 'John'}},{"Active": {"Id":'1', 'Name': 'Peter'}, 'Collect' : {'Id':'2', 'Name': 'tru'}},{"Active": {"Id":'1', 'Name': 'joe'}, 'Collect' : {'Id':'2', 'Name': 'mark'}}]
const tobefilter = "Peter"
const filterdata = _(test).filter(test => test.Active.Name === tobefilter)
console.log(filterdata)
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.20/lodash.min.js"></script>
TA贡献1794条经验 获得超7个赞
像这样尝试,
您没有传递数组以获取过滤器。
const filterdata = _.filter(test, (t)=> t.Active.Name === tobefilter)
TA贡献1868条经验 获得超4个赞
您缺少第一个参数,即要过滤的数组。这是正确的方法:
const filterdata = _.filter(test, (x) => x.Active.Name === tobefilter)
TA贡献1802条经验 获得超4个赞
在这种情况下你真的需要 lodash 吗?我的意思是它也是没有它的单衬垫。
const test = [{"Active": {"Id":'1', 'Name': 'Peter'}, 'Collect' : {'Id':'2', 'Name': 'John'}},{"Active": {"Id":'1', 'Name': 'Peter'}, 'Collect' : {'Id':'2', 'Name': 'tru'}},{"Active": {"Id":'1', 'Name': 'joe'}, 'Collect' : {'Id':'2', 'Name': 'mark'}}]
const filterdata = test.filter(test => test.Active.Name === "Peter")
console.log(filterdata);
添加回答
举报