-
Notifications
You must be signed in to change notification settings - Fork 1
Lang filter
Grigoriev Oleg edited this page Mar 24, 2013
·
2 revisions
filter(items, criterion [, context])
-
item
{(Array|Object)} - фильтруемый список или словарь -
criterion
{(Function|String)} - критерий фильтрации. Функция, вызываемая для каждого элемента или имя поля в этих элементах. -
context
{Object} - объект, в контексте которого вызываетсяcriterion
. -
:return
{(Array|Object)} - результат фильтрации с сохранением изначальной структуры.
Например, есть следующая структура:
var dict = {
'one': {
'x': 1,
'y': 5
},
'none': {
'x': 0,
'y': 2
},
'five': {
'x': 5,
'y': -3
}
};
Отфильтруем её по свойству x
:
result = go.Lang.filter(dict, "x");
Результат:
{
'one': {
'x': 1,
'y': 5
},
'five': {
'x': 5,
'y': -3
}
}
Оставим только объекты с отрицательным y
:
result = go.Lang.filter(dict, function (item, key, items) {
return (item.y < 0);
});
Результат:
{
'five': {
'x': 5,
'y': -3
}
}
Колбэк criterion
вызывается для каждого элемента и получает в качестве аргументов:
-
item
{Object} - очередной объект. -
key
{(String|Number)} - ключ словаря или индекс массива. -
items
{(Object|Array)} - вся фильтруемая структура.
Если возвращаемое значение приводится к true
- элемент попадает в результирующий объект. false
- соответственно, не попадает.
Если на входе у filter
массив, на выходе также отфильтрованный массив.