can-define
Version:
Create observable objects with JS dot operator compatibility
58 lines (40 loc) • 1.97 kB
Markdown
can-define/list/list.prototype.every every
can-define/list/list.prototype
Return true if every item in a list matches a predicate.
`list.every( callback [,thisArg] )`
Tests each item in `list` by calling `callback` on it. If `callback` returns truthy for every
element in `list`, `every` returns `true`.
```js
import { DefineList } from "can";
const names = new DefineList(["alice","adam","zack","zeffer"]);
const aNames = names.every((name) => {
return name[0] === "a";
});
console.log(aNames); //-> false
```
{function(*, Number, can-define/list/list)} callback(item, index, list) A
function to call with each element of the DefineList. The three parameters that callback gets passed are:
- item (*) - the element at index.
- index (Integer) - the index of the current element of the list.
- list (DefineList) - the `DefineList` the elements are coming from.
If `callback` returns a truthy result, `every` will evaluate the callback on the next element. Otherwise, `every`
will return `false`.
{Object} thisArg What `this` should be in the `callback`.
{Boolean} `true` if calling the callback on every element in `list` returns a truthy value, `false` otherwise.
`list.every( props )`
Tests each item in `list` by comparing its properties to `props`. If `props` match for every element in
`list`, `every` returns `true`.
```js
import {DefineList} from "can";
const todos = new DefineList([
{name: "dishes", complete: false},
{name: "lawn", complete: true}
]);
const complete = todos.every({complete: true});
console.log(complete); //-> false
```
{Object} props An object of key-value properties. Each key and value in
`props` must be present on an `item` for the `item` to match.
{Boolean} `true` if every element in `list` matches `props`, `false` otherwise.