2017-02-15 82 views
0

我正在處理vue-js問題。VueJS:通過陣列中的對象進行過濾

我得到了一個data -element(object)叫做items。我正在循環瀏覽這些產品,並顯示包含項目列表的下拉菜單。

現在我想只顯示只有這些項目誰有一個名爲「瓦」和Title數組中的值。

這是items一個例子項目:

Item 

-Title 

-Date 

-Specifications [Array] 

-- [0] Name: "Watt" 

-- [0] Value: 5 

-- [1] Name: "Weight" 

-- [1] Value: 100 

不知道如何解決這個問題?

回答

2

這不是VueJS特定的。在Javascript中,您可以使用Array#過濾器過濾數組。例如:

items = items.filter(function(item) { 
    return item.Title && item.Specifications.some(function(specification) { 
     return specification.Name === "Watt"; 
    });  
}); 

要理解這一點看看Array#someArray#filter功能。上面的代碼基本上過濾了items數組,條件是該項目在Specification數組中至少有一個(某些)元素,其中Name是「Watt」並且具有標題。