日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
聽(tīng)說(shuō)你熟悉Pick,那就來(lái)手寫一個(gè)MyPick!

這是一個(gè) Pick 函數(shù),它的作用是挑選 keys 屬性數(shù)組中每個(gè) key 對(duì)應(yīng)的值,組成一個(gè)新的對(duì)象。

創(chuàng)新互聯(lián)公司制作網(wǎng)站網(wǎng)頁(yè)找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁(yè)設(shè)計(jì),成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),網(wǎng)站設(shè)計(jì),企業(yè)網(wǎng)站搭建,網(wǎng)站開(kāi)發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為上千服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷推廣服務(wù)!

function Pick(obj, keys) {
const ret = {};
for (const key of keys) {
ret[key] = obj[key];
}
return ret;
}

const user = {
id: 666,
name: "阿寶哥",
address: "廈門",
};

const PickedUser = MyPick(user, ["id", "name"]);

在 JavaScript 中我們操作的是對(duì)象,而在 TypeScript 中我們操作的是類型。同樣,在 TypeScript 中我們也可以把 User 類型轉(zhuǎn)換成只包含 id 和 name 屬性的 PickedUser 類型。

type User = {
id: number;
name: string;
address: string;
};

type PickedUser = {
id: number;
name: string;
};

要實(shí)現(xiàn)上述的功能,我們需要使用 TypeScript 提供的映射類型。它是一種泛型類型,可用于把原有的對(duì)象類型映射成新的對(duì)象類型。

映射類型的語(yǔ)法如下:

{ [ P in K ] : T }

其中 P in K 類似于 JavaScript 中的 for...in 語(yǔ)句,用于遍歷 K 類型中的所有類型,而 T 類型變量用于表示 TS 中的任意類型。了解完這些知識(shí)之后,我們來(lái)定義一個(gè) MyPick 工具類型。

type MyPick = {
[P in K]: T[P];
};

在以上代碼中,T、K 被稱為類型參數(shù),與 Pick 函數(shù)中參數(shù)的作用類似。keyof 操作符用于獲取某種類型中的所有鍵,其返回類型是聯(lián)合類型。如果 keyof 操作的是對(duì)象類型,其功能與 Object.keys 方法類似。

而 K extends keyof T 是泛型約束,用于約束類型參數(shù) K 對(duì)應(yīng)的實(shí)際類型為對(duì)象類型所有鍵組成的聯(lián)合類型的子類型。T[P] 用于獲取 T 類型中 P 屬性對(duì)應(yīng)的類型,其中類型變量 P 的值會(huì)在遍歷的過(guò)程中不斷改變。

下面我們來(lái)驗(yàn)證一下 MyPick 工具類型,是否實(shí)現(xiàn)對(duì)應(yīng)的功能。在實(shí)際工作中,若遇到對(duì)應(yīng)的場(chǎng)景,我們可以直接使用 TypeScript 提供的 Pick 工具類型。

type PickedUser = MyPick;

// type PickedUser = {
// id: number;
// name: string;
// }

在 TypeScript 中映射類型非常重要,如果你想深入學(xué)習(xí)映射類型,可以觀看 “用了 TS 映射類型,同事直呼內(nèi)行!


當(dāng)前名稱:聽(tīng)說(shuō)你熟悉Pick,那就來(lái)手寫一個(gè)MyPick!
轉(zhuǎn)載來(lái)源:http://www.5511xx.com/article/cdgsigh.html