gpt4 book ai didi

javascript - 如何从数组内的对象中找到匹配的键/对值

转载 作者:行者123 更新时间:2023-12-04 10:00:11 24 4
gpt4 key购买 nike

我正在使用 Gatsby 开发 headless Shopify 商店,并且在构建强大的产品选项选择器时遇到了一些麻烦。

我有一个 options看起来像这样的对象:

{
extras: "Pouch only",
}

每个产品的键和值都会不同,所以我不知道这些值。

我有一个 variants将具有与此对象匹配的键/值对的数组。这是变体数组的形状:

[
{
extras: "Pouch only",
...otherValues,
},
{
extras: "Add tassel",
...otherValues,
},
{
extras: "Add charm",
...otherValues,
},
{
extras: "Add tassel & charm",
...otherValues,
},
{
sizes: "S",
...otherValues,
},
{
sizes: "M",
...otherValues,
},
{
sizes: "L",
...otherValues,
},
{
sizes: "XL",
...otherValues,
},
];

如果我提前知道变体的名称,我可以这样做:

const newVariant = variants.find((v) => {
return v.extras === options.extras;
});

在不知道 key 名称的情况下如何做同样的事情?

最佳答案

使用 Object.entries您可以检索对象的键/值对,并检查是否 .some (或 .every 取决于您的需要)匹配:

const newVariant = variants.find((v) => Object.entries(options).some(([key, value]) => v[key] === value));

关于javascript - 如何从数组内的对象中找到匹配的键/对值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61851528/

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