打字稿:如何将泛型函数作为函数参数传递?

时间:2017-10-06 03:21:19

标签: javascript angular typescript

目前,我有一个函数可以成功找到给定数组中的一个元素并将其转移到前面。但是我想定义一个给出一个值数组的函数,它将遍历这些函数,找到它们并将它们移到数组的前面(作为另一个参数传递)。我现在坚持的部分是发现方面。传递的每个值(要转移到前面)都需要先在数组中找到。

要做这个部分,我希望将find参数作为函数参数。

我的第一次尝试就是沿着这些方向(我知道这不起作用):

public shiftObjectsToStart(array: Array<any>, itemsToShift: Array<any>, findIndex: (...args: any[]) => number): void {
    itemsToShift.forEach(element => {
        const idx = findIndex(); // This needs to be changed/fixed/HELP
        if (idx !== -1){
            this.shiftObjectToStart(array, idx);
        }
    });
}

我确信通过使查找方面成为一种功能,我可以通过我的方法将我的电线交叉以使函数更具通用感。

请记住,我主要使用这些Array函数和自定义对象,因此在集合中查找所述对象的实例会有所不同。

我的代码必须是ES5友好的

可以在此处找到完整的数组utils服务: https://gist.github.com/richflee/9fead9819ab016f27ee9582326858f90

0 个答案:

没有答案