JavaScript fügt ein Array zu einem vorhandenen Array von Objekten hinzu
P粉556159786
P粉556159786 2023-09-04 11:46:33
0
2
462
<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粉556159786
P粉556159786

Antworte allen(2)
P粉619896145

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

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

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

P粉336536706

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

所以试试这个吧

const bool = arr.map(group => group.values.some(val => val.id));
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage