当使用uniq()
underscore.js 中的方法时,我们可以选择函数式方法或 OO 方法。通常, uniq() 接受一个数组、一个isSorted
布尔值和一个iterator
函数。布尔值用于指示数组是否已经排序。您可以对数组进行排序,然后传入以true
获得更好的性能(显然)。
它可能看起来像这样:
var data = [
{'make':'Porsche','model':'911'},
{'make':'Porsche','model':'986'},
{'make':'Porsche','model':'986'}
];
var results = _.uniq(data, true, function (obj) {return obj.model});
但是,要使链接版本正常工作,我必须执行以下操作:
var results = _.chain(data)
.uniq(function (obj) {return obj.model})
.value();
那么,在链式版本中,isSorted
论点在哪里?