为什么当timsort(根据维基百科)表现得更好时,我大多听说quicksort是最快的整体排序算法?谷歌似乎没有发现任何比较.
首先,我做了一些搜索,没有回复stackoverflow /谷歌提供了我想要的东西.
这是我的代码片段:
//in the view
this.collection.on("add",triggerthis)
this.collection.add(predefinedModel)
triggerthis: function(a, b, c, d){
//etc.
}
Run Code Online (Sandbox Code Playgroud)
基本上,我希望能够传递一个关于add的参数并在triggerthis中接收参数.这可能吗?
提前致谢.
以下CoffeeScript代码:
do (a) ->
console.log a
Run Code Online (Sandbox Code Playgroud)
生成这个:
(function(a) {
return console.log(a);
})(a);
Run Code Online (Sandbox Code Playgroud)
如何将值传递给这样的值?
(function(a) {
return console.log(a);
})("hello");
Run Code Online (Sandbox Code Playgroud) 我正在使用的当前方法是过滤一个集合,它返回一个数组,然后使用
collection.reset(array)
Run Code Online (Sandbox Code Playgroud)
重新填充它.但是,这会修改原始集合,因此我添加了一个名为"originalCollectionArray"的数组,该数组跟踪集合的初始数组状态.当没有过滤激活时,我只是使用
collection.reset(originalCollectionArray)
Run Code Online (Sandbox Code Playgroud)
但是,我需要跟踪从真实集合中添加和删除模型,所以我这样做:
// inside collection
initialize: function(params){
this.originalCollectionArray = params;
this.on('add', this.addInOriginal, this);
this.on('remove', this.removeInOriginal, this);
},
addInOriginal: function(model){
this.originalCollectionArray.push(model.attributes);
},
removeInOriginal: function(model){
this.originalTasks = _(this.originalTasks).reject(function(val){
return val.id == model.get('id');
});
},
filterBy: function(params){
this.reset(this.originalCollectionArray, {silent: true});
var filteredColl = this.filter(function(item){
// filter code...
});
this.reset(filteredColl);
}
Run Code Online (Sandbox Code Playgroud)
当我尝试实现与集合操作相关的其他技巧(例如排序)时,这很快变得很麻烦.坦率地说,我的代码看起来有点hacky.这样做有一种优雅的方式吗?
谢谢
我有一个名字和日期的待办事项列表.我希望能够使用标题或日期对列表进行排序.我该怎么做?比较器只允许一种类型的排序.
谢谢.
我是Sublime Text键绑定的新手.有没有办法,当插入符号不在行尾时,在末尾插入分号?在宏中我猜它是:去eol - > insert; - >回来.但我不知道如何回归部分.
谢谢.
我很难理解Facebook的React JS框架中的上下文如何工作.
将规范传递给React.createClass时,某些方法(特别是事件处理程序)似乎需要使用React.autoBind来"绑定到组件的回调".其他方法(特别是render())没有这个要求,但仍然乐于引用'this.props'或'this.state'.
如果render()方法不是组件,那么'this'的上下文是什么?
注意:这主要是理论实践.
function one() {
return [1, function() { one(); }];
}
console.log((one()[1])());
Run Code Online (Sandbox Code Playgroud)
输出给出undefined.为什么?
我通过Package Control安装了CoffeeScript插件.当我尝试构建test.coffee时,它给了我:
[Error 2] The system cannot find the file specified
[cmd: [u'cake', u'sbuild']]
[dir: C:\Users\Me\Documents\TestProject]
[path: C:\Users\Me\AppData\Roaming\npm\]
[Finished]
Run Code Online (Sandbox Code Playgroud)
这是Sublime Text的构建.我在Windows上,ST2之外的所有CoffeeScript都能正常工作.
{
"cmd": ["cake", "sbuild"],
"path": "C:\\Users\\Me\\AppData\\Roaming\\npm",
"selector": "source.coffee",
"working_dir": "$project_path"
}
Run Code Online (Sandbox Code Playgroud)
路径给出正确的值.蛋糕脚本在那里.那么问题出在哪里?
javascript ×5
backbone.js ×3
coffeescript ×2
collections ×2
sorting ×2
sublimetext2 ×2
algorithm ×1
build ×1
events ×1
key-bindings ×1
macros ×1
quicksort ×1
reactjs ×1
recursion ×1
timsort ×1