首页 > 解决方案 > 无法裁剪 TypeScript 实体的响应

问题描述

我有一个包含列用户的实体:UserEntity[].

UserEntity有几个属性,如loginName, userName, email, createdTt, updatedAt ... 响应[provide context],我必须填写“用户”属性只有类型的 UserEntity。但我只想显示loginName, userName, email。我想跳过的所有其他内容。users如果属性只能是UserEntity[]所有属性的类型,我该怎么做?请帮忙。

标签: javascripttypescript

解决方案


UserEntity假设您收到一个名为的值数组userEntities,其中UserEntity定义如下:

interface UserEntity {
  loginName: string;
  userName: string;
  email: string;
  createdAt: number;
  updatedAt: number;
  // etc.
}

如果你想为每个用户创建一个只包含一些属性的数组,最简单的方法是使用Array.prototype.map

const basicUserInfo = userEntities.map(user => ({
  loginName: user.loginName,
  userName: user.userName,
  email: user.email,
}));

map通过对当前数组中的每个元素调用提供的函数来构造一个新数组。有关详细信息,请参阅MDN


推荐阅读