我有一个对象,它有一个用户的一些属性,还有一个从API返回的对象array.

下面是代码示例.如果你愿意,我还准备了codesandbox.

const user = 
    {
      name: "jan",
      lastName: "kowalski",
      fullName: "jan kowalski",
      car: "audi"
    }
  ;

  const usersAnimal = [
    {
      name: "jan",
      lastName: "kowalski",
      fullName: "jan kowalski",
      animal: "cat",
      animalSize: "small",
      animalName: "Bat"
    },
    {
      name: "john",
      lastName: "smith",
      fullName: "john smith",
      animal: "dog",
      animalSize: "middle",
      animalName: "Jerry"
    },
    {
      name: "Anna",
      lastName: "Nilsson",
      fullName: "Anna Nilsson",
      animal: "cow",
      animalSize: "big",
      animalName: "Dorrie"
    }
  ];

  const filtered = usersAnimal.map((userAnimal)=>userAnimal.fullName === user.fullName && return userAnimal.animalName & userAnimal.animalSize & userAnimal.animal);

谢谢

https://codesandbox.io/s/admiring-edison-qxff42?file=/src/App.js

推荐答案

在这种情况下,如果您先过滤掉它,然后使用map继续进行,则会容易得多:

 const filtered = usersAnimal
    .filter((animal) => animal.fullName === user.fullName)
    .map(({ animalName, animalSize, animal }) => {
      return {
        animalName,
        animalSize,
        animal
      };
    });

Javascript相关问答推荐

JavaScript文本区域阻止KeyDown/KeyUp事件本身上的Alt GR +键组合

警告!合同执行期间遇到错误[执行已恢复](Base Layer 2)

类型脚本中只有字符串或数字键而不是符号键的对象

防止用户在selectizeInput中取消 Select 选项

从WooCommerce Checkout Country字段重新排序国家,保持国家同步

如何禁用附加图标点击的v—自动完成事件

空的结果抓取网站与Fetch和Cheerio

使用GraphQL查询Uniswap的ETH价格

将核心模块导入另一个组件模块时存在多个主题

使用Google API无法进行Web抓取

为什么123[';toString';].long返回1?

当输入字段无效时,我的应用程序不会返回错误

用于在路径之间移动图像的查询

使用js构造一个html<;ath&>元素并不能使其正确呈现

基于props 类型的不同props ,根据来自接口的值扩展类型

DOM不自动更新,尽管运行倒计时TS,JS

使用类型:assets资源 /资源&时,webpack的配置对象&无效

将基元传递给THEN处理程序

背景动画让网站摇摇欲坠

输入的值的类型脚本array.排序()