Клуб API Карт

Ассоциативный массив при фильтрации объектов

denisgorjunov
23 октября 2017, 16:25

Всем привет. Делаю фильтрацию объектов на основе этого примера https://tech.yandex.ru/maps/jsbox/2.1/object_manager_filter

Суть проблемы: listBoxItems мне надо задавать ассоциативным массивом вида

var listBoxItems = [
     {a: 'b'}, {c: 'd'}                
    ]

Надо чтобы в фильте выводились ключи, а сама фильтрация осуществлялась по значению, или наоборот. Как это сделать?

2 комментария
Не очень понял в чем именно проблема.
Поможет ли Object.keys?
Можете в своей логике фильтровать как по content, так и по value


var listBoxItems = [
{a: 'b'}, {c: 'd'}
]   
.map(function(filter) {
var filterKey = Object.keys(filter)[0];
return new ymaps.control.ListBoxItem({
data: {
content: filterKey,
value: filter[filterKey],
},
state: {
selected: true
}
})
}),
dimik, спасибо, ваш ответ помог решить проблему. А не знал я что внутри data можно прописать поле value. В документации про это не нашёл, может плохо искал конечно.