小编che*_*lou的帖子

timsort和quicksort之间的比较

为什么当timsort(根据维基百科)表现得更好时,我大多听说quicksort是最快的整体排序算法?谷歌似乎没有发现任何比较.

sorting algorithm quicksort timsort

61
推荐指数
5
解决办法
2万
查看次数

将参数传递给骨干中的事件

首先,我做了一些搜索,没有回复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中接收参数.这可能吗?

提前致谢.

javascript events backbone.js backbone-events

14
推荐指数
2
解决办法
3万
查看次数

CoffeeScript做,传递参数

以下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)

javascript coffeescript

13
推荐指数
1
解决办法
6924
查看次数

Backbone.js:过滤集合的正确方法?

我正在使用的当前方法是过滤一个集合,它返回一个数组,然后使用

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.这样做有一种优雅的方式吗?

谢谢

collections backbone.js

8
推荐指数
1
解决办法
7659
查看次数

Backbone.js集合有多种排序

我有一个名字和日期的待办事项列表.我希望能够使用标题或日期对列表进行排序.我该怎么做?比较器只允许一种类型的排序.

谢谢.

javascript sorting collections backbone.js

5
推荐指数
1
解决办法
2833
查看次数

Sublime文本绑定:在eol处插入分号并返回

我是Sublime Text键绑定的新手.有没有办法,当插入符号不在行尾时,在末尾插入分号?在宏中我猜它是:去eol - > insert; - >回来.但我不知道如何回归部分.

谢谢.

macros key-bindings sublimetext2

5
推荐指数
1
解决办法
1852
查看次数

Facebook的React JS框架中的上下文

我很难理解Facebook的React JS框架中的上下文如何工作.

将规范传递给React.createClass时,某些方法(特别是事件处理程序)似乎需要使用React.autoBind来"绑定到组件的回调".其他方法(特别是render())没有这个要求,但仍然乐于引用'this.props'或'this.state'.

如果render()方法不是组件,那么'this'的上下文是什么?

javascript web-frameworks reactjs

5
推荐指数
1
解决办法
1910
查看次数

无法找到包含在匿名函数中的递归函数调用

注意:这主要是理论实践.

function one() {
    return [1, function() { one(); }];
}
console.log((one()[1])());
Run Code Online (Sandbox Code Playgroud)

输出给出undefined.为什么?

javascript recursion anonymous-function

4
推荐指数
1
解决办法
60
查看次数

Sublime Text build:找不到指定的文件

我通过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)

路径给出正确的值.蛋糕脚本在那里.那么问题出在哪里?

build coffeescript sublimetext2

3
推荐指数
1
解决办法
7344
查看次数