簡體   English   中英

按AngularJS中數組中的元素過濾

[英]Filter by elements in an Array in AngularJS

我有一個帶有Tasks的JSON文件。 它們的結構如下:

[
{
    "id":"1",
    "name":"task1",
    "tags":["tag1","tag2","tag3"]
},
{
    "id":"2",
    "name":"task2",
    "tags":["tag4","tag2","tag5"]
},
{
    "id":"3",
    "name":"task3",
    "tags":["tag3"]
}
]

這是我想要的Plunkr http://plnkr.co/edit/kMhiHDyybHYxGfV7W39z?p=preview

基本上,這就是我想要的: http : //jsfiddle.net/TahmidTanzim/N9Vqk/

我研究了各種SO問題,他們都建議我做對了。 但是我不明白我要去哪里錯了。 我只希望那些包含selectedTag的任務顯示在紅色列表中。

謝謝!

只需更改過濾器即可使用數組比較內部標簽。

myapp.filter('tagFilter',function()
{
    return function(Data,selectedTags)
    {
        if(selectedTags.length===0) return Data;
        var tempData=[];
        for(var i  in Data) {
            for(var z in Data[i].tags) {
                for(var k in selectedTags) {
                    var value = selectedTags[k];
                    if(value == Data[i].tags[z]) {
                        tempData.push(Data[i]);
                        break;             
                    }
                }
            }
        }
        return tempData;
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM