recherche

Maison  >  Questions et réponses  >  le corps du texte

JavaScript ajoute un tableau au tableau d'objets existant

<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粉556159786P粉556159786455 Il y a quelques jours455

répondre à tous(2)je répondrai

  • P粉619896145

    P粉6198961452023-09-05 10:42:18

    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.

    répondre
    0
  • P粉336536706

    P粉3365367062023-09-05 10:07:13

    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));

    répondre
    0
  • Annulerrépondre