0
的通用實現我試圖將here的實現移植到typescript 這可行,但我喜歡將它作爲通用fn,以及lodash _.indexOf implementation中的其他人。_.indexOf
indexOf<T>(
array: Array<T>,
value: T): number;
/**
* @see _.indexOf
**/
indexOf<T>(
array: List<T>,
value: T): number;
etc...
我使用它現在這個樣子
var idx = _.indexOf(myList, (r:Type) => {
return r.Name == k;
});
我正在尋找一種方法,可使用以下實施類似
var idx = _.indexOf<Type>(myList, (r) => {
return r.Name == k;
});
類型化的實現:
var indexOfValue = _.indexOf;
// using .mixin allows both wrapped and unwrapped calls:
// _(array).indexOf(...) and _.indexOf(array, ...)
_.mixin({
// return the index of the first array element passing a test
indexOf: (array:_.List<any>, test:Function):any => {
// delegate to standard indexOf if the test isn't a function
if (!_.isFunction(test)) return indexOfValue(array, test);
// otherwise, look for the index
for (var x = 0; x < array.length; x++) {
if (test(array[x])) return x;
}
// not found, return fail value
return -1;
}
});