那麼,是不是有一種選擇器可以萬能選擇呢?
也就是說,可以通過使用者自定義的條件,來篩選想要的內容呢?
引入一段typescript 泛型 的概念:
我們需要一種方法使返回值的型別與傳入引數的型別是相同的。 這裡,我們使用了 型別變數,它是一種特殊的變數,只用於表示型別而不是值。我們給identity新增了型別變數function identity(arg: t): t
t
。t
幫助我們捕獲使用者傳入的型別(比如: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,但是控制不同作用,乙個是全域性的...