问题标签 [lodash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
20375 浏览

javascript - Lodash:从多个构造单个对象 - 合并/覆盖属性

注意:我在 lodash 下提出了这个问题,因为我很确定它可以帮助我很好地解决这个问题,但我现在还没有把它放在首位

我有一个描述不同用户角色及其权限的对象;

我将定义“像这样”的 10-15 个角色(这并不反映应用程序代码,而是问题本身):

连接的用户将拥有多个角色;在该示例中,它可能是['role1', 'role2'],因此我需要构造一个permissions对象,该对象将是所有用户角色中定义的所有道具的组合。

它基本上是基于白名单的,所有“真”属性都应该覆盖任何被定义为假的东西。因此,预期的结果应该是:


我不太确定如何在不依赖疯狂嵌套循环的情况下解决这个问题

这是 JSBin 的起点:http://jsbin.com/usaQejOJ/1/edit?js, console

谢谢你的帮助!

0 投票
2 回答
309 浏览

javascript - Grunt:递归模板是如何工作的?

我是 Grunt 的新手,我在使用递归模板时遇到了一些问题。这是一个具体的,最小的例子:

将其弹出到 aGruntfile.js中,运行npm install grunt,然后运行grunt print_build_dir

如果你在/Users/jvilk/Code/grunt-test,我希望输出是:

相反,输出是:

这里发生了什么?从test配置属性中,很明显path.resolve应该接收到属性的正确参数vendor_dir——也就是说,它会解析为path.resolve("/Users/jvilk/Code/grunt-test/dev", "vendor")——但我完全不明白为什么它会build.root_dir在属性的值前面加上一个额外的正斜杠。

我和我的挣扎将不胜感激任何帮助或指导Gruntfile。谢谢!

编辑:作为先发制人的附录,我意识到我不需要使用模板来实现这个特定的例子——我可以path.resolve直接使用。但是,在我的非示例Gruntfile中,其中一个目录名称path.resolve是动态设置的属性,因此需要使用模板。

EDIT2:正如 Andrew 所指出的,模板扩展vendor_dir的工作方式如下:

我的test财产有效,因为它像这样扩展:

我不明白他们为什么做出这个设计决定,但我可以很容易地模拟我想要的模板语义,方法是将所有这些包装在一个重复处理字符串直到全部<%=消失的函数中。

0 投票
1 回答
604 浏览

javascript - Lo-dash 扩展/分配默认行为

我试图理解 lodash 中的分配/扩展函数,因为我通过 mean.io 堆栈设置遇到了一个非常令人困惑的结果。

这里:

我得到的是:

问题是:我不应该每次都得到相同的结果:console.log(require(__dirname + '/../config/env/all.js'));

0 投票
3 回答
8645 浏览

javascript - 使用自定义函数在 lodash 中创建链

有没有办法在lodash链中获得我自己的自定义函数。所以例如像这样:

0 投票
1 回答
4382 浏览

javascript - 如何在 lodash.template() 中取消转义 html 标签?

我想使用lodash.template()创建一个 html 代码,但结果出乎我的意料。

结果,填充的文本a已被转义。

我怎样才能得到结果expected

我可以设置options.escape,但不知道如何使用此选项。

谢谢!

0 投票
2 回答
371 浏览

javascript - 是否有 _lodash 方法可以根据数组中字段的值从数组中删除行?

我正在使用以下功能:

该功能有效,但现在我的应用程序使用 _lodash 库并且正在使用所有现代 IE8 及更高版本的浏览器,我想知道是否有更有效的方法来使用 _lodash 或其他一些浏览器本机方法来完成相同的功能。

0 投票
0 回答
374 浏览

node.js - 在 browserify 和主干设置中参考 undescore

我正在尝试使用 browserify 将应用程序捆绑为节点模块,我遇到了以下情况:

我似乎无法获得下划线功能的参考。我肯定会需要它来操作数据。模板在这里只是一个示例用例,因为还有其他可扩展的选项

同样,我也试图引用lodash.underscore没有成功,它给出了同样的错误。

我有预感我在这里遗漏了一些东西。有什么帮助吗?

0 投票
2 回答
1768 浏览

javascript - 分组数组变空(Lodash 的 groupBy 确实有效)

这是示例 plunker http://embed.plnkr.co/bJFmT0WlRfqUgrCxZRT6

首先:我正在按某个键对集合进行分组 - 在我的示例中是 yob。

我有两个选择——

  • 我可以编写一个自定义函数来完成这项工作(我想这样做,因为我可以添加自定义逻辑)
  • 我可以使用 lodash/underscore.js 提供的 _.groupBy

所以我决定尝试这两种方法 - 使用 lodash 我按一个键对集合进行分组并显示输出(参见 plunkr)

当我使用自定义方法时,studentsByYear在这种情况下,数组在显示之前以某种方式变为空。在返回数组之前,我已经控制台记录了我的输出,并且数组具有所需的输出..

所以我的问题是为什么我的分组方法不起作用?我错过了一些明显的角度吗?是不是我必须在返回对象之前对其进行深层复制,如果是,请解释一下?


脚本

0 投票
4 回答
64011 浏览

javascript - _lodash 可以测试数组以检查数组元素是否具有具有特定值的字段吗?

我有一个变量selectedSubTopicId,我有一个 subTopic 对象数组:objectiveDetail.subTopics[]. 每个subTopic 对象都有一个字段 subTopicId

我想用它来启用或禁用和添加主题按钮。我可以在 ng-disabled 中使用 lodash 来测试这个数组,如果数组的任何subTopic对象元素的 asubTopicId等于selectedSubTopicId.

这是objectiveDetail中的数据示例。在这种情况下,subTopics 数组中只有一个元素。

这是 thefourtheye 建议的我的 Angular 控制器中的代码:

我的未显示单击功能的按钮如下所示:

问题是它不能很好地工作,并且按钮没有显示为禁用。

0 投票
10 回答
336301 浏览

javascript - 如何使用 lodash 从列表中删除元素?

我有一个看起来像这样的对象:

我已经lodash在我的应用程序中安装了其他东西。有没有一种有效的方法来lodash删除条目:{"subTopicId":2, "number":32}obj对象中?

或者有没有一种javascript方式来做到这一点?