gpt4 book ai didi

javascript - 在 React Native 中使用 JavaScript 过滤数组中的对象

转载 作者:行者123 更新时间:2023-12-03 13:45:32 28 4
gpt4 key购买 nike

我被困在一些事情上,我认为这很愚蠢,但在尝试了一些东西之后,我找不到解决方案。有什么建议吗?

我有一个包含以下格式对象的数组:

   [
Object {
"name": "name",
"description": "100 jours ferme",
"image: "path_image",
"culture": Array [
Object {
"name": "name",
"value": "309",
}
]}
...
]

通过我的 react native 项目中的函数,我得到一个选定的值,例如:309

所以我想做的是创建一个新数组,其中仅包含culture内对象中包含此值的项目,并修改数组的状态(使用 setState)

我知道我可以使用 .map() 映射所有 culture 数组,但后来我陷入困境。我只想说“我想要一个包含这些元素的新数组”...

然后,我知道我是否有类似的事情:

"culture": 309

我本来可以这样做:myArray.filter(i => i.culture == selectedValue)

有关如何使用 .filter()、.map() 执行此操作的任何帮助吗?

谢谢

最佳答案

您可以Array.prototype.filter在数组上,然后对于每个 culture 运行 Array.prototype.find与谓词

o => o.value === selectedValue

这是一个运行示例:

const arr = [
{
name: "name",
description: "100 jours ferme",
image: "path_image",
culture: [{
name: "name",
value: "309"
}]
},
{
name: "name",
description: "100 jours ferme",
image: "path_image",
culture: [{
name: "name",
value: "308"
}]
}
];

const selectedValue = '309';
const newArr = arr.filter(obj => obj.culture.find(o => o.value === selectedValue));
console.log(newArr)
.as-console-wrapper { max-height: 100% !important; }

关于javascript - 在 React Native 中使用 JavaScript 过滤数组中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52570634/

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