Tag: underscore.js

为什么下划线延迟修复了我的许多问题?

在使用骨干几个星期后,我意识到,下划线延迟最终修复了我在渲染各种视图时遇到的许多asynchronous问题。 有人可以帮我理解什么是下划线延迟,以及$ .ready()或其他types的等待dom渲染函数的方式。 使用它的缺点是什么? _.defer = function(func) { return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1))); };

lodash使用数组值过滤集合

我想过滤使用数组属性值的集合。 给定一个ID数组,返回具有匹配ID的对象。 有没有使用lodash / underscore快捷方法? var collections = [{ id: 1, name: 'xyz' }, { id: 2, name: 'ds' }, { id: 3, name: 'rtrt' }, { id: 4, name: 'nhf' }, { id: 5, name: 'qwe' }]; var ids = [1,3,4]; // This works, but any better way? var filtered = _.select(collections, function(c){ return […]

Underscore.js – 将键/值对的数组映射到对象 – 一个class轮

我一直在经历下划线文档,但我似乎无法find一个方法(或嵌套的方法调用)做下列转换: 比方说,我有以下的JavaScript数组: [{ "name" : "sEcho", "value" : 1},{ "name" : "iColumns", "value" : 12}, … ] 我需要将其转换为以下对象: { sEcho: 1, iColumns: 12, … } 我使用underscore.js的原因,所以它必须是一个class轮。

为什么在backbone.js视图中bindAll?

在backbone的todo演示中 ,代码有几个使用了_.bindAll(this,…)的地方。 具体来说,它用在两个视图的initialize函数中。 据我所知,有必要做到以下几点: this.$('.todo-content').text(content); 但是,为什么要这样做呢? $('.todo-content').text(content); ?

Underscore.js:使用对象中find的键创build一个超出对象列表的地图

我正在使用优秀的Underscore.js库。 我有一个具体的任务,我可以使用JavaScript或jQuery做得很好,但是想知道在Underscore中是否存在某种抽象,我错过了。 基本上我有一个像这样的对象 – var some_object_array = [{id: "a", val: 55}, {id: "b", val: 1}, {id: "c", val: 45}]; 我想将其转换成 – var some_map = {"a": {id: "a", val: 55}, "b": {id: "b", val: 1}, "c": {id: "c", val: 45}}; 我知道我可以使用_.groupBy(some_object_array, "id") 。 但是,这返回一个地图,像这样 – var some_grouped_map = {"a": [{id: "a", val: 55}], "b": [{id: "b", […]

带有下划线sortBy的对象sorting数组

我有这个数组。 如何使用下划线“_.sortBy”按照开始date对其进行sorting? [ { 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' }, } ]

find具有下划线中特定键值的对象的数组索引

在下划线中,我可以成功find具有特定键值的项目 var tv = [{id:1},{id:2}] var voteID = 2; var data = _.find(tv, function(voteItem){ return voteItem.id == voteID; }); //data = { id: 2 } 但我怎么find什么数组索引该对象发生在?

如何克隆使用下划线的对象数组?

#!/usr/bin/env node var _ = require('underscore'); var a = [{f: 1}, {f:5}, {f:10}]; var b = _.clone(a); b[1].f = 55; console.log(JSON.stringify(a)); 这导致: [{"f":1},{"f":55},{"f":10}] 克隆似乎不工作! 所以我RTFM,看到这个: http://underscorejs.org/#clone 创build对象的浅拷贝克隆。 任何嵌套的对象或数组将被引用复制,而不是重复。 所以_.clone是相当无用的。 有没有办法实际复制对象的数组?

为什么Underscore.js不支持AMD?

1.3.0 – 2012年1月11日删除了Underscore的AMD(RequireJS)支持。 如果你想在RequireJS中使用Underscore,你可以将它作为普通脚本加载,打包或修补你的副本,或者下载分叉版本。 他们为什么要这样做? 有人知道吗? 因为他们仅在几个月前(10月份)就添加了它,而AMD(asynchronous模块定义) 据说远远优于CommonJS模块。 更新:截至2013年12月,这再次得到支持。

用布尔值来隐藏/显示元素

我倾向于在我的代码中有很多这些 if(shouldElementBeVisible) $element.show() else $element.hide() 有没有更优雅的方式与JavaScript,jQuery或下划线打包? 理想情况下,我想要的东西看起来像这样 $element.showOrHideDependingOn(shouldElementBeVisible)