映射具有相同键的对象的数组
map an array with objetcs with same key
我在尝试映射包含许多对象的数组时遇到了一个小问题。
我希望只有当我的对象定义了键时才使用 Switch return。
例如:
if (d['Niveau sonore']) {
console.log(d['Niveau sonore']);
return d['Niveau sonore'];
}
return '';
})}
但问题是,在我的数组中,我有许多具有相同键 'Niveau sonore' 的对象,例如,我只想 return 只有一个值。
我该怎么做,我认为使用 Lodash 是可能的,但我没有成功。
如果您有小费 ;) 非常感谢。
[
{ "Notice": "Oui" },
{ "Livré avec": "Notice, Cordon d'alimentation d'eau, Cordon d'évacuation d'eau, Cordon d'alimentation électrique" },
{ "Livré avec": "Notice, Cordon d'alimentation d'eau, Cordon d'évacuation d'eau, Cordon d'alimentation électrique" },
{ "Type d'installation": "Full intégrable: le bandeau de commande est entièrement dissimulé dans la tranche de la porte. Ainsi, le lave-vaisselle tout …" },
{ "Type de produit": "Lave vaisselle tout intégrable" },
{ "Couleur": "Tout intégrable" },
{ "Type d'installation": "Tout encastrable avec panneau de commande invisible" },
{ "Niveau sonore": "silencieux 46 dB" },
{ "Niveau sonore": "46 dB silencieux" },
{ "Classe énergétique": "A++" },
{ "Poids net": "35.5" },
{ "Largeur produit (cm)": "59.8" },
{ "Hauteur produit (cm)": "82" },
{ "Profondeur produit (cm)": "57" },
{ "Longueur développée": "218" },
{ "Poids brut": "37.6" },
{ "Largeur": "Lave vaisselle 60 cm" },
{ "Niveau sonore": "Silencieux" },
{ "Profondeur": "Entre 56 et 59 cm" },
{ "Garantie": "24" },
{ "Fabriqué en": "Pologne" },
{ "Flèche énergétique": "Classe_Energetique_VERT_APP" },
{ "Disponibilité des pièces détachées (données fournisseur)": "Pendant 10 ans" },
{ "Référence constructeur": "DIFP66B+9 EU" },
{ "Marque": "INDESIT" },
{ "Fiche conformité UE (ne pas supprimer)": "Fiche d'information disponible sur la page du produit sur boulanger.com ou auprès d'un conseiller" }
]
您可以简单地 filter 您的对象数组,方法是使用
yourArray.filter(obj => obj["Niveau sonore"] !== undefined)
这将为您提供一个新数组,其中仅存在具有该键的对象。
如果您想找到第一项并从数组中提取它,请使用 array find 方法,如下所示:
yourArray.find(obj => obj["Niveau sonore"] !== undefined)
你可以看看这个Typescript Playground link
中的解决方案
让我知道这是否是您想要的以及对此有任何疑问
我在尝试映射包含许多对象的数组时遇到了一个小问题。 我希望只有当我的对象定义了键时才使用 Switch return。 例如:
if (d['Niveau sonore']) {
console.log(d['Niveau sonore']);
return d['Niveau sonore'];
}
return '';
})}
但问题是,在我的数组中,我有许多具有相同键 'Niveau sonore' 的对象,例如,我只想 return 只有一个值。 我该怎么做,我认为使用 Lodash 是可能的,但我没有成功。 如果您有小费 ;) 非常感谢。
[
{ "Notice": "Oui" },
{ "Livré avec": "Notice, Cordon d'alimentation d'eau, Cordon d'évacuation d'eau, Cordon d'alimentation électrique" },
{ "Livré avec": "Notice, Cordon d'alimentation d'eau, Cordon d'évacuation d'eau, Cordon d'alimentation électrique" },
{ "Type d'installation": "Full intégrable: le bandeau de commande est entièrement dissimulé dans la tranche de la porte. Ainsi, le lave-vaisselle tout …" },
{ "Type de produit": "Lave vaisselle tout intégrable" },
{ "Couleur": "Tout intégrable" },
{ "Type d'installation": "Tout encastrable avec panneau de commande invisible" },
{ "Niveau sonore": "silencieux 46 dB" },
{ "Niveau sonore": "46 dB silencieux" },
{ "Classe énergétique": "A++" },
{ "Poids net": "35.5" },
{ "Largeur produit (cm)": "59.8" },
{ "Hauteur produit (cm)": "82" },
{ "Profondeur produit (cm)": "57" },
{ "Longueur développée": "218" },
{ "Poids brut": "37.6" },
{ "Largeur": "Lave vaisselle 60 cm" },
{ "Niveau sonore": "Silencieux" },
{ "Profondeur": "Entre 56 et 59 cm" },
{ "Garantie": "24" },
{ "Fabriqué en": "Pologne" },
{ "Flèche énergétique": "Classe_Energetique_VERT_APP" },
{ "Disponibilité des pièces détachées (données fournisseur)": "Pendant 10 ans" },
{ "Référence constructeur": "DIFP66B+9 EU" },
{ "Marque": "INDESIT" },
{ "Fiche conformité UE (ne pas supprimer)": "Fiche d'information disponible sur la page du produit sur boulanger.com ou auprès d'un conseiller" }
]
您可以简单地 filter 您的对象数组,方法是使用
yourArray.filter(obj => obj["Niveau sonore"] !== undefined)
这将为您提供一个新数组,其中仅存在具有该键的对象。
如果您想找到第一项并从数组中提取它,请使用 array find 方法,如下所示:
yourArray.find(obj => obj["Niveau sonore"] !== undefined)
你可以看看这个Typescript Playground link
中的解决方案让我知道这是否是您想要的以及对此有任何疑问