首页 > 解决方案 > 了解如何将 ._forEach 变成 _.map

问题描述

我正在使用 lodash v3 开发一个项目。我有 eslint-plugin-loadash 设置来使用 v3 建议。

查看下面的代码,建议将其_.forEach_.map. inventory.minons()是一个对象数组。

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

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

标签: javascriptlodashecmascript-5

解决方案


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

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

推荐阅读