在骨干集合上的下划线sortBy函数无法识别集合的对象

时间:2013-05-21 22:35:05

标签: backbone.js underscore.js

我有一个骨架集合要进行排序。我正在使用unexcore.js函数sortBy。以下是我的代码段

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

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

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

我的问题是为什么它无法识别 sortedcollection = collectionToSort.sortBy(function(obj){
obj = JSON.parse(JSON.stringify(obj));
return obj.cost; });
函数中的sortedcollection = collectionToSort.sortBy(function(obj){
obj = JSON.parse(JSON.stringify(obj));
return obj.cost; });
对象,即使它是JSON对象,除非我将其重新转换为JSON对象

1 个答案:

答案 0 :(得分:4)

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

sortedcollection = collectionToSort.sortBy(function(model){
  return model.get('cost')
})