Questions tagged «underscore.js»

Underscore是JavaScript的实用程序带库,它提供了Prototype.js(或Ruby)中期望的许多功能编程支持,但没有扩展任何内置的JavaScript对象。这是与jQuery的晚礼服搭配使用的纽带。

17
在嵌套数组中按键查找
假设我有一个对象: [ { 'title': "some title" 'channel_id':'123we' 'options': [ { 'channel_id':'abc' 'image':'http://asdasd.com/all-inclusive-block-img.jpg' 'title':'All-Inclusive' 'options':[ { 'channel_id':'dsa2' 'title':'Some Recommends' 'options':[ { 'image':'http://www.asdasd.com' 'title':'Sandals' 'id':'1' 'content':{ ... 我想找到一个id为1的对象。是否有类似这样的功能?我可以使用Underscore的_.filter方法,但是我必须从顶部开始然后向下过滤。

18
将返回的JSON对象属性转换为(最低优先级)camelCase
我有从API返回的JSON,如下所示: Contacts: [{ GivenName: "Matt", FamilyName: "Berry" }] 为了使其与我的代码风格(camelCase-小写首字母)保持一致,我想对数组进行转换以产生以下内容: contacts: [{ givenName: "Matt", familyName: "Berry" }] 最简单/最好的方法是什么?创建一个新的Contact对象并遍历返回数组中的所有联系人? var jsonContacts = json["Contacts"], contacts= []; _.each(jsonContacts , function(item){ var contact = new Contact( item.GivenName, item.FamilyName ); contacts.push(contact); }); 还是可以映射原始数组或以某种方式对其进行转换?

2
ESLint的“ no-undef”规则将我对Underscore的使用称为未定义变量
我正在使用Grunt作为构建工具,并使用ESLint作为正在处理的应用程序的整理工具。我也在使用Underscore Node软件包,并在我的应用程序中使用了它。不幸的是,当我在代码上运行ESLint时,它认为_是以下行中的未定义变量: return _.pluck(objects, nameColumn); 这是它给我的错误: 78:21 error "_" is not defined no-undef 我宁愿不对ESLint禁用no-undef规则,并且尝试安装Underscore插件,但仍然收到此错误。如果有人对尝试使用此方法有任何想法,我将不胜感激! 如果有任何其他我想提供的信息可以帮助任何人帮助我解决这个问题,请告诉我!

4
带有args下划线的反跳功能
我有一个带有一些参数的函数。但是下划线去抖动的用法是: var lazyLayout = _.debounce(calculateLayout, 300); 但就我而言,calculateLayout需要运行一些参数。在这种情况下如何通过他们? 更新: 样例calculateLayout功能: var calculateLayout = function(a,b) { console.log('a is ' + a + ' and b is ' + b); }

3
使用Underscore sortBy进行对象排序的数组
我有这个数组。如何使用下划线'_.sortBy'根据开始日期对其进行排序? [ { id: 'oljw832021kjnb389xzll323jk', start: { dateTime: '2013-09-26T13:30:00-07:00' }, end: { dateTime: '2013-09-26T14:30:00-07:00' }, }, { id: 'ed7l5tmckdp0lm90nvr4is3d4c', start: { dateTime: '2013-09-26T15:30:00-07:00' }, end: { dateTime: '2013-09-26T16:30:00-07:00' }, }, { id: 'etmasdsackdp0kjl0nvrkopioqw', start: { dateTime: '2013-09-26T18:00:00-07:00' }, end: { dateTime: '2013-09-26T19:00:00-07:00' }, } ]
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.