JavaScript ajoute un tableau au tableau d'objets existant
P粉556159786
P粉556159786 2023-09-04 11:46:33
0
2
461
<p>我有下面的代码片段</p> <p> <pre class="brush:js;toolbar:false;">const arr = [ { "name": "Composant d'attestation 1", "valeurs": [ { "component": "Composant d'attestation 1" }, { "component": "Composant d'attestation 1" }, { "component": "Composant d'attestation 1", } ] }, { "name": "Composant d'attestation 2", "valeurs": [ { "identifiant": "10005884", "url": "https://www.msn.com", "bfaId": "G44.5.3.1N/A", "component": "Composant d'attestation 2" }, { "identifiant": "10005883", "url": "https://www.hotmail.com", "bfaId": "G44.5.3.2N/A", "component": "Composant d'attestation 2" } ] }, { "name": "Composant d'attestation 3", "valeurs": [ { "identifiant": "10005882", "url": "https://www.rediffmail.com", "bfaId": "G44.5.3.3N/A", "component": "Composant d'attestation 3" } ] } ] const bool = arr.map(group => group.values.every(val => val.id)); console.log(bool);</pre> </p> <p>这是什么原因呢?我想将该属性添加到现有对象数组中,作为 <code>name</code></p> La valeur <code>isInvalid: true/false</code> <p>预期的 O/P(在每个具有以下键值对的对象中添加属性) <code>isInvalid:真/假</code></p>
P粉556159786
P粉556159786

répondre à tous(2)
P粉619896145

Vous devriez utiliser some(), pas every().

const bool = arr.map(group => group.values.some(val => val.id)).filter(bool => !bool).toString();
La méthode

every() est utilisée pour vérifier si tous les éléments du tableau remplissent la condition donnée. tableau. La méthode some() est utilisée pour vérifier si au moins un élément du tableau répond à la condition donnée.

P粉336536706

C’est parce que votre algorithme est incorrect. La méthode every vérifiera si tous les objets ont un identifiant, mais ce n'est pas ce que vous voulez, n'est-ce pas ?

Alors essaie ça

const bool = arr.map(group => group.values.some(val => val.id));
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal