【问题标题】:Passing empty object as an argument in Javascript在Javascript中将空对象作为参数传递
【发布时间】:2017-05-20 06:42:11
【问题描述】:
var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];

var countedNames = names.reduce(function(allNames, name) { 
  if (name in allNames) {
    allNames[name]++;
  }
  else {
    allNames[name] = 1;
  }
  return allNames;
}, {});

在最后一行中,他们为什么将一个空对象传递给 reduce 函数。

【问题讨论】:

标签: javascript ecmascript-6


【解决方案1】:

.reduce 的最后一个参数是“种子”值,在第一次迭代中用作传递给回调的第一个参数的初始值。

在这种用法中,.reduce 函数使用观察到的每个唯一值的计数填充最初为空的对象,然后返回相同的对象(现在已修改)作为下一个值,为下一次迭代做好准备。

【讨论】:

  • 投下你喜欢的所有票 - 我已经制作了这个答案社区维基
  • 如果投反对票的人也提供有关为什么他们投反对票的信息会很有帮助。
猜你喜欢
  • 2013-11-18
  • 2018-02-23
  • 2012-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多