gpt4 book ai didi

javascript - 如果一个属性等于另一个对象的属性,如何过滤对象数组中对象的几个属性

转载 作者:行者123 更新时间:2023-12-01 22:56:31 26 4
gpt4 key购买 nike

我有一个对象,它具有一个用户的一些属性,并且我有一个从 API 返回的对象数组。我的目标是检查对象数组中的哪个对象与单个初始对象具有相同的属性,然后它应该只返回其属性的一部分。我尝试在对象数组上使用 .map,但它似乎不起作用。

下面是代码示例。如果你愿意,我也准备了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 - 如果一个属性等于另一个对象的属性,如何过滤对象数组中对象的几个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73121069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com