如何使用过滤器设置过滤数组?

用户3432681

我被数组、对象和过滤器困住了。我有以下代码,我想用我的过滤器设置过滤(数组)列表。然后用它做一些事情。我使用 React 作为框架。但我认为这是纯 Javascript。

我是在正确的方向吗?

filterSettings = { flagA: false, flagB: true, FlagC: true};
        list = [
            {flag: a, txt: 'some text1'},
            {flag: a, txt: 'some text2'},
            {flag: b, txt: 'some text3'},
            {flag: b, txt: 'some text4'},
            {flag: c, txt: 'some text5'},
            {flag: c, txt: 'some text6'},
        ] 

        list.filter(
            // if(filtersettings.a === true) show flags with a 
            //else{hide flags with a}
            // if(filtersettings.b === true) show flags with b 
            //else{hide flags with b}
            ///...ect
        ).map((item)=>{
            console.log(item);
        });
标记

如果您使filterSettings键与标志值对应,您可以使用该filterSettings值(这是一个布尔值)作为过滤器的测试:

let filterSettings = { a: false, b: true, c: true};
let list = [
    {flag: 'a', txt: 'some text1'},
    {flag: 'a', txt: 'some text2'},
    {flag: 'b', txt: 'some text3'},
    {flag: 'b', txt: 'some text4'},
    {flag: 'c', txt: 'some text5'},
    {flag: 'c', txt: 'some text6'},
] 

let filtered = list.filter( item => filterSettings[item.flag]) // filterSettings[item.flag] will be a boolean
console.log(filtered)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章