Module: @nginstack/engine/lib/object/reduce


(require("@nginstack/engine/lib/object/reduce"))(obj, func, val [, opt_obj])

Passa cada elemento do mapa para uma função e acumula o resultado.

Parameters:
Name Type Argument Description
obj Object

O mapa que será iterado.

func function

A função que será executada para cada elemento. Esta função irá receber 4 argumentos: o valor anterior ou o inicial, o elemento do mapa, a chave do mapa e o mapa. Exemplo:

function (previousValue, value, key, obj).

val Object

O valor inicial passado para a função f na primeira iteração.

opt_obj Object <optional>

O objeto que será utilizado como o valor de 'this' dentro de f.

Returns:

Resultado de avaliar f repetidamente para todos os elementos do array.

Type
*
Example
var reduce = require('@nginstack/engine/lib/object/reduce');
// O código abaixo
var obj = {
  nome: 'José',
  idade: 31
};
var valores = [];
var p;
for (var p in obj) {
    valores.push(obj[p]);
}
// Pode ser simplificado para:
var obj = {
  nome: 'José',
  idade: 31
};
var resultado = reduce(obj, function (r, v) {
  r.push(v);
  return r;
}, []);