2017-02-15 8 views
0

Я работаю над проблемой vue-js.VueJS: Фильтровать через объекты в массиве

У меня есть data -элемент (объект) под названием items. Я просматриваю эти продукты и показываю выпадающий список со списком элементов.

Теперь я хотел бы показать только те элементы, у которых есть значение в массиве, которое называется «Watt» и 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#some и Array#filter функций. Вышеприведенный код в основном фильтрует массив элементов условием, что элемент имеет хотя бы один (некоторый) элемент в массиве спецификаций, где Name является «Watt» и имеет заголовок.