Questions tagged «lodash»

现代化的JavaScript实用程序库,提供模块化,性能和附加功能

8
Angular 4 HttpClient查询参数
我一直在寻找一种通过new将查询参数传递到API调用中HttpClientModule的方法HttpClient,但尚未找到解决方案。使用旧Http模块,您将编写如下内容。 getNamespaceLogs(logNamespace) { // Setup log namespace query parameter let params = new URLSearchParams(); params.set('logNamespace', logNamespace); this._Http.get(`${API_URL}/api/v1/data/logs`, { search: params }) } 这将导致对以下URL的API调用: localhost:3001/api/v1/data/logs?logNamespace=somelogsnamespace 但是,新HttpClient get()方法没有search属性,因此我想知道在哪里传递查询参数?

2
如何在lodash中使用include方法检查对象是否在集合中?
lodash让我使用以下命令检查基本数据类型的成员资格includes: _.includes([1, 2, 3], 2) > true 但是以下操作无效: _.includes([{"a": 1}, {"b": 2}], {"b": 2}) > false 这使我感到困惑,因为以下搜索集合的方法似乎还不错: _.where([{"a": 1}, {"b": 2}], {"b": 2}) > {"b": 2} _.find([{"a": 1}, {"b": 2}], {"b": 2}) > {"b": 2} 我究竟做错了什么?如何使用来检查集合中对象的成员资格includes? 编辑:问题最初是针对lodash版本2.4.1,针对lodash 4.0.0更新的

13
无法在已卸载的组件上执行React状态更新
问题 我在React中编写一个应用程序,无法避免出现一个超级常见的陷阱,即setState(...)在after之后调用componentWillUnmount(...)。 我非常仔细地查看了我的代码,并尝试放置一些保护子句,但是问题仍然存在,并且我仍在观察警告。 因此,我有两个问题: 我如何从堆栈跟踪中找出哪个特定的组件和事件处理程序或生命周期挂钩负责违反规则? 好吧,如何解决问题本身,因为我的代码在编写时就考虑到了这种陷阱,并且已经在试图防止这种情况的发生,但是某些底层组件仍在生成警告。 浏览器控制台 Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method. in TextLayerInternal (created by Context.Consumer) in TextLayer …

15
lodash中是否有功能替换匹配项
我想知道lodash中是否有一种更简单的方法来替换JavaScript集合中的项目?(可能重复,但我不明白那里的答案:) 我查看了他们的文档,但找不到任何东西 我的代码是: var arr = [{id: 1, name: "Person 1"}, {id:2, name:"Person 2"}]; // Can following code be reduced to something like _.XX(arr, {id:1}, {id:1, name: "New Name"}); _.each(arr, function(a, idx){ if(a.id === 1){ arr[idx] = {id:1, name: "Person New Name"}; return false; } }); _.each(arr, function(a){ document.write(a.name); }); …
134 javascript  lodash 

8
Javascript ES6 / ES5在数组中查找并更改
我有一个对象数组。我想按某个字段查找,然后对其进行更改: var item = {...} var items = [{id:2}, {id:2}, {id:2}]; var foundItem = items.find(x => x.id == item.id); foundItem = item; 我希望它更改原始对象。怎么样?(我不在乎它是否也会在lodash中使用)

11
映射对象保留键
mapunderscore.js中的函数(如果与javascript对象一起调用)将返回从该对象的值映射的值的数组。 _.map({one: 1, two: 2, three: 3}, function(num, key){ return num * 3; }); => [3, 6, 9] 有没有办法使它保留密钥?即,我想要一个返回的函数 {one: 3, two: 6, three: 9}

7
如何导入单个Lodash函数?
使用webpack,我正在尝试导入isEqual,因为lodash似乎正在导入所有内容。我尝试做以下没有成功的事情: import { isEqual } from 'lodash' import isEqual from 'lodash/lang' import isEqual from 'lodash/lang/isEqual' import { isEqual } from 'lodash/lang' import { isEqual } from 'lodash/lang'
128 javascript  lodash 

7
使用lodash比较数组(项目存在而无顺序)
我知道我可以使用循环来做到这一点,但是我试图找到一种优雅的方式来做到这一点: 我有两个数组: var array1 = [['a', 'b'], ['b', 'c']]; var array2 = [['b', 'c'], ['a', 'b']]; 我想用来lodash确认以上两个数组是相同的。通过“相同的”我的意思是,有没有在项目array1中没有包含在array2。 在检查这些项目之间的相等性方面: ['a', 'b'] == ['b', 'a'] 要么 ['a', 'b'] == ['a', 'b'] 两者都可以工作,因为字母始终是有序的。

7
使用Lodash遍历JavaScript对象中的属性
是否可以遍历JavaScript对象中的属性?例如,我有一个如下定义的JavaScript对象: myObject.options = { property1: 'value 1', property2: 'value 2' }; 属性将动态添加到此对象。有没有办法让我循环浏览并检查属性是否存在?如果是这样,怎么办?
123 javascript  lodash 

13
Lodash标题大小写(每个单词的大写首字母)
我正在浏览lodash文档和其他Stack Overflow问题-虽然有几种本机JavaScript方法可以完成此任务,但是有一种方法可以使用纯 lodash函数(或至少现有的原型函数)将字符串转换为标题大小写这样我就不必使用正则表达式或定义新函数了? 例如 This string ShouLD be ALL in title CASe 应该成为 This String Should Be All In Title Case
108 javascript  lodash 

9
使用lodash .groupBy。如何为分组输出添加自己的密钥?
我有从API返回的样本数据。 我正在使用Lodash _.groupBy将数据转换成可以更好使用的对象。返回的原始数据是这样的: [ { "name": "jim", "color": "blue", "age": "22" }, { "name": "Sam", "color": "blue", "age": "33" }, { "name": "eddie", "color": "green", "age": "77" } ] 我希望_.groupBy函数返回一个看起来像这样的对象: [ { color: "blue", users: [ { "name": "jim", "color": "blue", "age": "22" }, { "name": "Sam", "color": "blue", "age": …

19
错误:EACCES:权限被拒绝
我运行npm install lodash,但它抛出错误:EACCES:权限被拒绝错误。我知道这是权限问题,但据我所知,本地安装节点模块不需要sudo权限。如果我使用sudo运行它,它将安装在〜/ node_modules文件夹中。drwxrwxr-x是现有文件夹的文件许可权。我不知道可能出了什么问题。 下面是错误消息。 npm ERR! tar.unpack untar error /home/rupesh/.npm/lodash/4.13.1/package.tgz npm ERR! Linux 3.13.0-88-generic npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "lodash" npm ERR! node v4.3.1 npm ERR! npm v2.14.12 npm ERR! path /home/rupesh/node_modules/lodash npm ERR! code EACCES npm ERR! errno -13 npm ERR! syscall mkdir npm ERR! Error: EACCES: …
97 node.js  lodash 

2
使用Lodash按值对对象数组进行排序
我试图按“名称”值对数组进行排序(使用Lodash)。我使用Lodash文档在下面创建了解决方案,但是.orderBy似乎根本没有任何影响。任何人都可以阐明对数组进行排序的正确方法吗? 字符数组 [ { "id":25, "name":"Anakin Skywalker", "createdAt":"2017-04-12T12:48:55.000Z", "updatedAt":"2017-04-12T12:48:55.000Z" }, { "id":1, "name":"Luke Skywalker", "createdAt":"2017-04-12T11:25:03.000Z", "updatedAt":"2017-04-12T11:25:03.000Z" } ] 功能码 var chars = this.state.characters; _.orderBy(chars, 'name', 'asc'); // Use Lodash to sort array by 'name' this.setState({characters: chars})
97 arrays  lodash 

8
lodash:将数组映射到对象
是否有内置的lodash函数来执行此操作: var params = [ { name: 'foo', input: 'bar' }, { name: 'baz', input: 'zle' } ]; 并输出: var output = { foo: 'bar', baz: 'zle' }; 现在我正在使用Array.prototype.reduce(): function toHash(array, keyName, valueName) { return array.reduce(function(dictionary, next) { dictionary[next[keyName]] = next[valueName]; return dictionary; }, {}); } toHash(params, 'name', 'input'); 想知道是否有lodash捷径。

3
Lodash:如何使用orderBy对集合进行不区分大小写的排序?
我检查了这个答案,但要获得相同的结果(即不区分大小写的排序),我需要使用orderBy而不是,sortBy因为它可以指定排序顺序。 我发现实现此目标的唯一方法是创建一个映射为小写字母的克隆“中间”数组name: const users = [ { name: 'A', age: 48 }, { name: 'B', age: 34 }, { name: 'b', age: 40 }, { name: 'a', age: 36 } ]; let lowerCaseUsers = _.clone(users); lowerCaseUsers = lowerCaseUsers.map((user) => { user.name = user.name.toLowerCase(); return user; }); const sortedUsers = _.orderBy(lowerCaseUsers, …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.