DoneJS StealJS jQuery++ FuncUnit DocumentJS
3.14.1
5.0.0 4.3.0 2.3.35
  • About
  • Guides
  • API Docs
  • Community
  • Contributing
  • Bitovi
    • Bitovi.com
    • Blog
    • Design
    • Development
    • Training
    • Open Source
    • About
    • Contact Us
  • About
  • Guides
  • API Docs
    • Observables
      • can-compute
      • can-define
      • can-define/list/list
      • can-define/map/map
      • can-define-stream
      • can-define-stream-kefir
      • can-event
      • can-event/async/async
      • can-event/batch/batch
      • can-event/lifecycle/lifecycle
      • can-kefir
      • can-list
      • can-map
      • can-map-backup
      • can-map-define
      • can-observation
      • can-observe
      • can-simple-map
      • can-simple-observable
      • can-stream
      • can-stream-kefir
    • Data Modeling
      • can-connect
      • can-connect-cloneable
      • can-connect-feathers
      • can-connect-ndjson
      • can-connect-signalr
      • can-fixture
      • can-fixture-socket
      • can-ndjson-stream
      • can-set
    • Views
      • can-component
      • can-ejs
      • can-element
      • can-react-component
      • can-stache
      • can-stache/helpers/route
      • can-stache-bindings
      • can-stache-converters
      • can-view-autorender
      • can-view-callbacks
      • can-view-href
      • can-view-import
      • can-view-live
      • can-view-model
      • can-view-nodelist
      • can-view-parser
      • can-view-scope
      • can-view-target
      • react-view-model
      • react-view-model/component
      • steal-stache
    • Routing
      • can-deparam
      • can-param
      • can-route
      • can-route-pushstate
    • JS Utilities
      • can-assign
      • can-define-lazy-value
      • can-globals
      • can-key-tree
      • can-make-map
      • can-parse-uri
      • can-string
      • can-string-to-any
      • can-util
        • can-util/js
          • ./assign-non-enumerable/
          • ./deep-assign/
          • ./defaults/
          • ./diff/
          • ./diff-array/
          • ./diff-object/
          • ./each/
          • ./get/
          • ./import/
          • ./is-array-like/
          • ./is-empty-object/
          • ./is-function
          • ./is-node/
          • ./is-plain-object/
          • ./is-promise/
          • ./is-promise-like/
          • ./is-web-worker/
          • ./join-uris/
          • ./make-array/
          • ./make-map/
          • ./make-promise/
          • ./omit/
          • ./set-immediate/
          • ./string/
          • ./string-to-any/
        • can-util/dom
          • ./attr/
          • ./child-nodes/
          • ./class-name/
          • ./data/
          • ./dispatch/
          • ./events/
          • ./frag/
          • ./mutate/
        • deprecated
          • ./dom/ajax/
          • ./dom/events/enter/
          • ./js/assign/
          • ./js/cid/
          • ./js/cid-map/
          • ./js/cid-set/
          • ./js/deparam/
          • ./js/dev/
          • ./js/document/
          • ./js/global/
          • ./js/is-browser-window/
          • ./js/is-string/
          • ./js/location/
          • ./js/log/
          • ./js/mutation-observer/
          • ./js/param/
          • ./js/parse-uri/
          • ./js/types/
      • can-zone
      • can-zone-storage
    • DOM Utilities
      • can-ajax
      • can-attribute-encoder
      • can-control
      • can-dom-events
      • can-event-dom-enter
      • can-event-dom-radiochange
      • can-jquery
    • Data Validation
      • can-define-validate-validatejs
      • can-validate
      • can-validate-interface
      • can-validate-legacy
      • can-validate-validatejs
    • Typed Data
      • can-cid
      • can-construct
      • can-construct-super
      • can-namespace
      • can-reflect
      • can-reflect-promise
      • can-types
    • Polyfills
      • can-symbol
      • can-vdom
    • Core
    • Infrastructure
      • can-global
      • can-test-helpers
    • Ecosystem
    • Legacy
  • Community
  • Contributing
  • GitHub
  • Twitter
  • Chat
  • Forum
  • News
Bitovi

each

  • Edit on GitHub

each(elements, callback, context)

A generic iterator function that can be used to iterate over both Array-Like and object data structure. Array-Like data structures are iterated by their numerical index. Objects are iterated by their named properties, i.e. in each stage of iteration the each function emits the key and its corresponding value.

Parameters

  1. elements {Object|ArrayLike}:

    the object or Array-Like elements to iterate over

  2. callback {function(element, key, elements)}:

    the function that would be executed in each iteration

  3. context {Object}:

    the context object

Returns

{Object|ArrayLike}:

the original elements

import each from "can-util/js/each/each";

each( [ 2, 1, 0 ], function( i ) {
    console.log( this[ i ] );
}, [ 4, 5, 6 ] ); // -> 6 \n 5 \n 4
each( { foo: "bar", abc: "xyz" }, function( val, key ) {
    console.log( key + ": " + val );
} ); // -> "foo: bar" \n "abc: xyz"

CanJS is part of DoneJS. Created and maintained by the core DoneJS team and Bitovi. Currently 3.14.1.

On this page

Get help

  • Chat with us
  • File an issue
  • Ask questions
  • Read latest news