ts 萬能過濾器

2021-08-28 12:39:35 字數 986 閱讀 6848

那麼,是不是有一種選擇器可以萬能選擇呢?

也就是說,可以通過使用者自定義的條件,來篩選想要的內容呢?

引入一段typescript 泛型 的概念:

我們需要一種方法使返回值的型別與傳入引數的型別是相同的。 這裡,我們使用了 型別變數,它是一種特殊的變數,只用於表示型別而不是值。

function identity(arg: t): t
我們給identity新增了型別變數tt幫助我們捕獲使用者傳入的型別(比如:number),之後我們就可以使用這個型別。 之後我們再次使用了t當做返回值型別。現在我們可以知道引數型別與返回值型別是相同的了。 這允許我們跟蹤函式裡使用的型別的資訊。

我們把這個版本的identity函式叫做泛型,因為它可以適用於多個型別。 不同於使用any,它不會丟失資訊,像第乙個例子那像保持準確性,傳入數值型別並返回數值型別。

const arr = [1, 2, 3, 4, 5, 6, 7, 8];

function superfilter(condition: (i: t) => boolean, arr: t): t

}return filterarr;

}console.log(superfilter(i=>i%3==0,arr));

//條件為3的倍數,所以輸出[3,6]

我們可以傳入乙個自己定義的condition,然後轉換為乙個布林值。

(i: any) => boolean
這個就是函式簽名裡的型別。

js自帶的過濾器filter可以直接實現這個功能。

console.log(arr.filter(i=>i%3==0));
待續內容:

ts 萬能過濾器

那麼,是不是有一種選擇器可以萬能選擇呢?也就是說,可以通過使用者自定義的條件,來篩選想要的內容呢?引入一段typescript 泛型 的概念 我們需要一種方法使返回值的型別與傳入引數的型別是相同的。這裡,我們使用了 型別變數,它是一種特殊的變數,只用於表示型別而不是值。function identi...

萬能密碼 php,PHP萬能密碼

說實話如果乙個 的前台都是注入漏洞,那麼憑經驗,萬能密碼進後台的機率基本上是百分之百。可是有的人說對php的站如果是gpc魔術轉換開啟,就會對特殊符號轉義,就徹底杜絕了php注入。其實說這話的人沒有好好想過,更沒有嘗試過用萬能密碼進php的後台。其實gpc魔術轉換是否開啟對用萬能密碼進後台一點影響也...

Vue 過濾器案例(全域性過濾器和區域性過濾器)

doctype html en utf 8 viewport content width device width,initial scale 1.0 js vue 2.4.0 js script 過濾器 title head 兩個過濾器的名稱都為msgformat,但是控制不同作用,乙個是全域性的...