1

我有一个要排序的主干集合。我正在使用 undescore.js 函数 sortBy。下面是我的代码片段

sortedcollection = collectionToSort.sortBy(function(obj){ return obj.cost; })

但这会给我一个错误,即 obj 未定义。这仅在编写如下代码时才有效:

sortedcollection = collectionToSort.sortBy(function(obj){
obj = JSON.parse(JSON.stringify(obj));
return obj.cost; });

我的问题是为什么它不能识别函数 obj 内部的对象, sortBy 即使它是 JSON 对象,除非我将它重新转换为 JSON 对象

4

1 回答 1

4

Backbone 模型被传递给您的 sortBy 函数,而不是您初始化模型的对象。

sortedcollection = collectionToSort.sortBy(function(model){
  return model.get('cost')
})
于 2013-05-21T22:47:49.003 回答