问题标签 [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 回答
7655 浏览

backbone.js - 使用 Lodash 而不是 Underscore 和 Browserify 的主干

我现在正在尝试使用 Browserify,但我遇到了问题。

我总是使用带 Lodash 而不是 Underscore 的 Backbone,所以我为 Browserify 编写了一些 shim 脚本:

shims/lodash.js

shims/backbone.js

app.coffee

我实际上是grunt-coffeeify用来构建 Browserify 模块的,它在下面显示一个错误:

我应该改变什么才能正常工作 Backbone?提前致谢。

更新

不知何故,它适用于以下代码:

shims/lodash.js

shims/backbone.js

并在下面注释掉代码backbone-1.0.0.js

不过这看起来有些不对劲……

0 投票
1 回答
1581 浏览

javascript - 在 node.js 上扩展 lodash/下划线?

Lodash 和 Underscore 有一个名为 mixin 的方法,允许您扩展库。你如何编写一个可以扩展它们的库?

例如,如果您创建了一个名为“extend_lodash.js”的文件,其内容如下:

您将如何在您的项目中使用它?下面的代码不起作用:

0 投票
4 回答
15426 浏览

javascript - 如何使用 Underscore.js 对数组数组执行联合或交集

我有一个数组数组:

Underscore.js 具有方便的联合和交集方法,但它们可以将每个数组单独作为参数传递。

如果要执行集合操作的数组数量是任意的,我将如何处理?

这个问题解决了类似的问题,但它是针对包含对象的数组。

0 投票
2 回答
136 浏览

javascript - 从嵌套对象中获取价值

我正在尝试获取对象的第一个值,例如:

这是大约 100 个左右的 1 个对象。我正在尝试amount从 100 个对象中的每个对象的第一个属性值中获取list?即高于它会是100

我该怎么做?我正在使用下划线 JS 吗?

0 投票
6 回答
752 浏览

javascript - 测试固定电话号码模式的最快方法

因此,挑战在于我们试图检测字符串是否与固定电话号码模式匹配,这是一个简单的字符串模式。

模式是:

其中“d”代表十进制数字,减号代表自身,“-”

当前用于测试的模式是,但如果觉得没有足够的模式来揭穿不正确的格式,可以增加。

目标,我寻求的答案,是找到执行速度最快的方法,返回一个booleanwheretrue意味着模式是好的,false意味着模式是坏的。

这是我目前的解决方案

它与测试模式一起在jsfiddle上可用

我创建了一个jsperf,我将在其中添加更多建议的方法,以便可以比较方法的执行速度以确定哪个最快

您的方法可以是任何将在浏览器中执行的有效 javascript 代码,如果您愿意,可以使用 ECMA5 并针对现代浏览器,或者使用跨浏览器标准,如果答案不在 IE6 上运行,则不会被视为不正确例如。您还可以使用任何您希望的第三方库,即 jquery、lodash、下划线等。最后的要求是代码不能在 Chrome v25 或 Firefox v20 上执行失败

我有任何不清楚的地方,请随时发表评论,我会更新我的问题以澄清。

仅因微优化而不同的答案很重要

如果它有效并且已添加到性能图表中,请不要更改您的答案。您可以提交多个答案。

更新:好的一周过去了,现在是时候宣布我将选择的答案了。

从这个练习中学到了什么?

与手工构建的 javascript 例程相比,正则表达式似乎相对较慢,尽管对于大多数任务来说足够快。(至少对于小字符串模式)

没有使用任何 3rd 方库、jquery、undescore 等的解决方案,什么都没有。并不奇怪,但我认为有人可能已经尝试过了。

展开的循环似乎仍然是王道。许多人说现在没有必要,因为浏览器非常先进,但这次测试仍然表明它们是王者。

我要感谢所有参与这个问题的人,尤其是那些实际提交代码进行测试的人。

0 投票
4 回答
2258 浏览

javascript - 基于序列javascript拆分数组

我有一个像

我想知道如何遍历数组,以便可以根据序列将此数组拆分为 2 个数组?即基本上如果i+1 != true使它成为一个新数组

我正在使用 lodash 并尝试了许多for语句,splice但我有点困惑?感谢任何帮助

0 投票
5 回答
92165 浏览

javascript - Lodash:嵌套对象时如何使用过滤器?

考虑这个例子。我正在使用Lodash

当我做

我把所有的东西都拿回来了。

我想要的是?

我想要所有的对象category.parent == 'Food',我该怎么做?

我试过了

并得到

0 投票
2 回答
9875 浏览

javascript - 减少没有给出正确的总和

我的对象groupBy.Food看起来像

我想要的只是sum每个对象的数量。我正在使用Lodash reduce作为

当我看到s我得到的价值时

我在这里没有做什么?

0 投票
2 回答
235 浏览

javascript - JavaScript:无法获取对象的值

这是我的代码

和数据看起来像

问题?

我看不到上面代码中的条目值

我正在学习 JavaScript,但不太熟悉范围的概念,这会导致问题吗?

0 投票
3 回答
7116 浏览

javascript - 与 BackboneJS 一起使用时,我应该使用与下划线兼容的 Lo-Dash 版本吗?

我注意到 Lo-Dash 有一个特殊的 Underscore 兼容版本,表面上是为了解决函数参数/操作的差异(因为 Lo-Dash 是 Underscore 的超集,我假设 Lo-Dash 中没有缺少 Underscore 函数)。

我还注意到 BackboneJS 可以与 Underscore 或 Lo-Dash 一起使用。

我的问题:将 Lo-Dash 的“正常”构建与 BackboneJS 一起使用是不明智的吗?我找不到任何迹象表明人们是否在野外这样做,但这似乎是个坏主意,特别是如果 BackboneJS 依赖于这些构建中可能不同的功能。同时,在 Lo-Dash 中使用一些较新的功能会很好,所以如果没有必要,我不想错过这些功能。