2017-02-15 83 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”并且具有标题。