理解如何将 ._forEach 变成 _.map

Understanding how to turn ._forEach into _.map

我正在使用 lodash v3 开发一个项目。我有 eslint-plugin-loadash 设置以使用 v3 推荐。

查看下面的代码,建议将其从 _.forEach 转换为 _.mapinventory.minons() 是一个对象数组。

      var playerArmies = [setupPlayer];
      _.forEach(inventory.minions(), function () {
        playerArmies.push(setupSubCommander);
      });

查看了 _.map 的文档后,我无法弄清楚如何将现有内容更改为它建议的内容。我现在不太担心这样做是否正确(由于缺乏理解,我成了 linter 的奴隶),更多的只是试图扩展我的知识,希望它能帮助我理解未来的文档.

由于您在数组中有一个初始值,_.map 不会保留该项目。 您必须使用 .unshift 将项目 setupPlayer 添加到数组的开头。

var playerArmies = _.map(inventory.minions(), function () {
  return setupSubCommander;
});
playerArmies.unshift(setupPlayer); // adds item to the front of the array.