underscore单独对Object对象的函数的官方文档
underscore的链式调用Chaining
chain_.chain(obj)
Returns a wrapped object. Calling methods on this object will continue to return wrapped objects until value is called.
value_.chain(obj).value()
Extracts the value of a wrapped object.
因为每一步返回的都是包装对象,所以最后一步的结果需要调用value()
获得最终结果。
var stooges = [{name: 'curly', age: 25}, {name: 'moe', age: 21}, {name: 'larry', age: 23}];
var youngest = _.chain(stooges)
.sortBy(function(stooge){ return stooge.age; })
.map(function(stooge){ return stooge.name + ' is ' + stooge.age; })
.first()
.value();
// 结果 "moe is 21"