-
Notifications
You must be signed in to change notification settings - Fork 1
Lang some
some(items [, criterion [, context])
-
items
{(Object|Array)} - набор элементов -
criterion
{(Function|String)} - критерий (функция или имя поля) -
context
{Object} - контекст для вызоваcriterion
-
:return
{Boolean} - найден ли элемент, соответствующий критерию
Обратно совместима с Array.some (items.some(criterion, context)
), но имеет расширенное поведение.
items
, в отличии от Array.some()
, может быть не только массивом, но и объектом.
Тогда обходятся все его свойства (не заходя в прототип).
В соответствии с Array.some()
критерий может быть функцией, которая вызывается в контексте context
на каждом элементе со следующими аргументами:
-
item
{mixed} - очередной элемент. -
key
{(String|Number)} - индекс в массиве или ключ в объекте. -
items
{(Object|Array)} - исходный набор элементов.
Интерпретируется, как имя поля:
go.Lang.some(items, "field"); // true, если хотя бы для одного item, item.field приводится к true
criterion = "field"
аналогично criterion = function (item) {return item.field; }
.
В этом случае рассматриваются сами элементы:
var items = [0, false, 2, null];
go.Lang.some(items); // true, так как в массиве есть "2".
criterion = undefined
аналогично criterion = function (item) {return item; }
.
Имеет смысл только для скаляров.
Если это список объектов, то всегда будет положительный результа, так как все объекты приводятся к true
.