Heim  >  Fragen und Antworten  >  Hauptteil

JavaScript fügt ein Array zu einem vorhandenen Array von Objekten hinzu

<p>我有下面的代码片段</p> <p> <pre class="brush:js;toolbar:false;">const arr = [ { „name“: „Bescheinigungskomponente 1“, "Werte": [ { „component“: „Bescheinigungskomponente 1“ }, { „component“: „Bescheinigungskomponente 1“ }, { „component“: „Bescheinigungskomponente 1“, } ] }, { „name“: „Bescheinigungskomponente 2“, "Werte": [ { „id“: „10005884“, „url“: „https://www.msn.com“, „bfaId“: „G44.5.3.1N/A“, „component“: „Bescheinigungskomponente 2“ }, { „id“: „10005883“, „url“: „https://www.hotmail.com“, „bfaId“: „G44.5.3.2N/A“, „component“: „Bescheinigungskomponente 2“ } ] }, { „name“: „Bescheinigungskomponente 3“, "Werte": [ { „id“: „10005882“, „url“: „https://www.rediffmail.com“, „bfaId“: „G44.5.3.3N/A“, „component“: „Bescheinigungskomponente 3“ } ] } ] const bool = arr.map(group => group.values.every(val => val.id)); console.log(bool);</pre> </p> <p>这是什么原因呢?我想将该属性添加到现有对象数组中,作为 <code>name</code></p> 下方的 <code>isInvalid: true/false</code> <p>预期的 O/P(在每个具有以下键值对的对象中添加属性) <code>isInvalid:真/假</code></p>
P粉556159786P粉556159786411 Tage vor434

Antworte allen(2)Ich werde antworten

  • P粉619896145

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

    您应该使用 some(),而不是 every()。

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

    every() 方法用于检查数组中的所有元素是否满足给定条件。阵列。 some() 方法用于检查数组中至少有一个元素是否满足给定的条件。

    Antwort
    0
  • P粉336536706

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

    那是因为你的算法不正确。 every 方法将检查是否所有对象都有一个 id,但这不是您想要的,对吧?

    所以试试这个吧

    const bool = arr.map(group => group.values.some(val => val.id));

    Antwort
    0
  • StornierenAntwort