Rumah  >  Soal Jawab  >  teks badan

JavaScript menambah tatasusunan pada tatasusunan objek sedia ada

<p>我有下面的代码片段</p> <p> <pre class="brush:js;toolbar:false;">const arr = [ { "name": "Komponen Pengesahan 1", "nilai": [ { "komponen": "Komponen Pengesahan 1" }, { "komponen": "Komponen Pengesahan 1" }, { "component": "Komponen Pengesahan 1", } ] }, { "name": "Komponen Pengesahan 2", "nilai": [ { "id": "10005884", "url": "https://www.msn.com", "bfaId": "G44.5.3.1N/A", "komponen": "Komponen Pengesahan 2" }, { "id": "10005883", "url": "https://www.hotmail.com", "bfaId": "G44.5.3.2N/A", "komponen": "Komponen Pengesahan 2" } ] }, { "name": "Komponen Pengesahan 3", "nilai": [ { "id": "10005882", "url": "https://www.rediffmail.com", "bfaId": "G44.5.3.3N/A", "komponen": "Komponen Pengesahan 3" } ] } ] const bool = arr.map(kumpulan => kumpulan.nilai.setiap(val => val.id)); console.log(bool);</pre> </p> <p>我有三个对象,名称分别为证明组件 1、证明组件 2、证明组件 3。刑我得、true。这是什么原因呢?我想将该属性添加到现有对象数组中,作为 <kod>nama</kod></p> 下方的 <kod>tidak sah: benar/salah</kod> <p>预期的 O/P(在每个具有以下键值对的对象中添加属性) <kod>tidak sah:真/假</kod></p>
P粉556159786P粉556159786411 hari yang lalu430

membalas semua(2)saya akan balas

  • P粉619896145

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

    Anda harus menggunakan beberapa(), bukan setiap().

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

    every() kaedah digunakan untuk menyemak sama ada semua elemen dalam tatasusunan memenuhi syarat yang diberikan. tatasusunan. Kaedah some() digunakan untuk menyemak sama ada sekurang-kurangnya satu elemen dalam tatasusunan memenuhi syarat yang diberikan.

    balas
    0
  • P粉336536706

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

    Itu kerana algoritma anda tidak betul. Kaedah every akan menyemak sama ada semua objek mempunyai id, tetapi bukan itu yang anda mahu, bukan?

    Jadi cuba ini

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

    balas
    0
  • Batalbalas