麻烦老师看下有没问题

来源:9-24 TS 高级类型视频作业:一个大中项目非常实用的复杂实战题

Lanny_Chung

2023-10-06


const arr = [
  {
    stuNo: 100,
    stuName: "张三",
    stuClass: 1,
    teacherNo: 5,
    teacherName: "王涛"
  },
  {
    stuNo: 102,
    stuName: "李思",
    stuClass: 10,
    teacherNo: 795,
    teacherName: "李海波"
  },
];

type Props<T extends string> = {
  [key in T]: any;
};

type ProcessedArray<T extends string, U extends Props<T>[]> = {
  [K in T]: U[number][K];
}[];

function getSubItemsFromArray<T extends string, U extends Props<T>[]>(arr: U,...props: T[]): ProcessedArray<T, U> {
  return arr.map((item) => {
    const newObj: Partial<Props<T>> = {};
    props.forEach((prop) => {
      newObj[prop] = item[prop];
    });
    return newObj as Props<T>;
  });
}


getSubItemsFromArray(arr, "stuName", "stuNo").forEach(item => {
  console.log(item)
})

图片描述

老师,这样实现OK吗

写回答

1回答

keviny79

2023-10-06

同学好,调用方法时需要有提示(如截图),其他没问题。为了给其他同学作业机会,需要作业答案请进课程群,私信老师https://img.mukewang.com/szimg/651ffb1309f229f511810478.jpg先把你自己做的发过来。

0
1
Lanny_Chung
好的,谢谢老师
2023-10-06
共1条回复

TypeScript 从入门到深度掌握,晋级TS高手

200+技术点,22 场景应用,Vue3 源码 TS 用法剖析

430 学习 · 53 问题

查看课程