【问题标题】:Angular2 filter in typescript打字稿中的Angular2过滤器
【发布时间】:2017-06-16 07:58:13
【问题描述】:

Angular2 打字稿从数组中搜索相同的值到对象数组中。 我要过滤的是来自 array_values 的任何值都存在于 object_array['extraService'] 中,如果存在则返回对象。 那是 Angular Pipe 用于为某种搜索功能重新设计模板。

let array_values = ["5", "4", "3"]
let items = [{'name': "Marin", extraService:[5, 4]}, {'name': "Marin", extraService:[3, 4]}]

我的尝试按打字稿过滤

return items.filter(item => items.array_values(f => f == item.extraService));

所以举个例子,什么是输出。 如果 array_values 只是

let array_values = ["3"]

那么 return 的输出将是:

result = [{'name': "Marin", extraService:[3, 4]}]

任何建议或示例我该如何管理它。

【问题讨论】:

    标签: javascript html angular typescript


    【解决方案1】:

     let array_values = ["5", "4", "3"]
            let items = [{'name': "Marin", extraService:[5, 4]}, {'name': "Marin", extraService:[3, 4]}];
    
            let results = items.filter(item => {
                const result = item.extraService.filter(extra => {
                    return array_values.indexOf(extra.toString()) !== -1;
                });
                if (result.length > 0) return true;
                return false;
            });
            console.log(results);

    你可以试试这个方法:

     let array_values = ["5", "4", "3"]
        let items = [{'name': "Marin", extraService:[5, 4]}, {'name': "Marin", extraService:[3, 4]}];
    
        return items.filter(item => {
            const result = item.extraService.filter(extra => {
                return array_values.indexOf(extra.toString()) !== -1;
            });
            if (result.length > 0) return true;
            return false;
        });
    

    【讨论】:

    • @marin 如果它匹配你的答案,请标记它的答案,tks。
    • 是的,但我想返回匹配对象,此代码返回 array_values。
    • 我将更新我的问题,结果我想用过滤器做什么。
    • 感谢您的帮助。
    猜你喜欢
    • 2015-06-23
    • 2017-06-16
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多