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
        • events
          • add
          • length
          • propertyName
          • remove
        • prototype
          • assign
          • assignDeep
          • concat
          • every
          • filter
          • forEach
          • get
          • indexOf
          • join
          • lastIndexOf
          • map
          • on
          • pop
          • push
          • reduce
          • reduceRight
          • replace
          • reverse
          • serialize
          • set
          • shift
          • slice
          • some
          • sort
          • splice
          • unshift
          • update
          • updateDeep
          • *
          • #
        • static
          • extend
      • 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-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

reduceRight

  • Edit on GitHub

Map the values in this list to a single value from right to left

list.reduceRight(callback, initialValue, [, thisArg])

Loops through the values of the list in reverse order, calling callback for each one until the list ends. The return value of callback is passed to the next iteration as the first argument, and finally returned by reduce.

var todos = new DefineList([
  {name: "dishes", complete: false},
  {name: "lawn", complete: true}
]);
var todosAsOneObject = todos.reduce(function(todos, todo){
  todos[todo.name] = todo.complete;
  return todos;
}, {});
todosAsOneObject //-> { dishes: false, lawn: true }

Parameters

  1. callback {function(item, index, list)}:

    A function to call with each element of the DefineList. The four parameters that callback gets passed are:

    • current (*) - the current aggregate value of reducing over the list -- the initial value if the first iteration
    • 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.

    The return value of callback is passed to the next iteration as the first argument, and returned from reduce if the last iteration.

  2. initialValue {*}:

    The initial value to use as current in the first iteration

  3. thisArg {Object}:

    The object to use as this inside the callback.

Returns

{*}:

The result of the final call of callback on the list.

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