TypeScript入门:编写提取电影数组指定字段的精简函数
如何在TypeScript中精简Movie数组的字段?
嘿,作为TypeScript新手,这个需求其实非常常见,咱们轻松搞定它就行~
首先,先确认你的原始类型定义没问题:
type Movie = { id: number; title: string; url: string; rating: number; };
接下来,要实现一个接收Movie[]数组、返回仅包含id和title字段的数组的函数,用数组的map方法就最合适了——它能遍历原数组的每个元素,帮你生成新的精简对象。
完整实现代码
type Movie = { id: number; title: string; url: string; rating: number; }; // 可选:定义精简后的类型,让代码更清晰 type SimplifiedMovie = { id: number; title: string; }; function simplifyMovies(movies: Movie[]): SimplifiedMovie[] { return movies.map(movie => ({ id: movie.id, title: movie.title })); } // 示例输入 const inputMovies: Movie[] = [ { id: 1, title: "Wonder Woman", url: "www", rating: 5 }, { id: 2, title: "Super Man", url: "www2", rating: 7 } ]; // 调用函数得到结果 const outputMovies = simplifyMovies(inputMovies); console.log(outputMovies); // 输出:[{id:1, title:"Wonder Woman"},{id:2, title:"Super Man"}]
简单解释一下:
map方法会遍历原数组的每一个Movie对象,对每个对象只提取id和title字段,组成新对象。- TypeScript其实可以自动推断返回的数组类型,但手动定义
SimplifiedMovie类型能让代码的可读性更高,也能在后续维护时更明确返回值的结构。 - 如果你不想单独定义
SimplifiedMovie,也可以直接让函数返回Array<{ id: number; title: string }>,效果是一样的。
内容的提问来源于stack exchange,提问作者user12400828
相关产品推荐
相关产品推荐

