在 JavaScript 的过滤器中使用包含变量

问题描述 投票:0回答:1

我有一个使用值帮助的 capm 应用程序,并且为此编写了以下事件。

    this.on('READ', 'Entity', async (req, res) => {
        var data = [
            {
                name: "Test",
                description: "test desc"
            },
            {
                name: "Test1",
                description: "Test1 desc"
            },
            {
                name: "Test2",
                description: "Test2 desc"
            }];

        const name = "name";
        console.log(req._query?.$search);
        var val = '';
        val = req._query?.$search;
        if (req._query?.$search && data.length > 0) {
            vr = await filterValueHelp(data, val);
            console.log("vr", vr);
            //console.log(data);
        }
        return data;
    });

我正在尝试使用filterValueHelp函数对此应用过滤器,就像这样

 async function filterValueHelp(data, search) {
            console.log(typeof(search));
            console.log(typeof(data[0].name));
            
            let d = data.filter( obj => {
                let nameMatches = obj.name.includes(search);    
                return nameMatches;        
            });
            console.log(d);
    }

在返回中,我在 vr

中得到一个空数组

请帮助我解决如何根据名称进行过滤的问题。

我期待根据名称过滤数组。

javascript node.js filter include cap
1个回答
0
投票

// 我是 stack over flow 的新手

而不是使用

let nameMatches = obj.name.includes(search);

尝试

return obj.name === search
(我假设两者都是字符串)

在控制台的帮助下检查过滤器是否匹配

根据日志您可以调整代码

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.