recherche

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

Déterminer la différence entre les valeurs d'un objet et d'un tableau

<p>J'ai le tableau suivant d'objets et de nombres. Comment savoir quel numéro du tableau n’existe pas comme identifiant dans l’objet ? Dans l'exemple ci-dessous, je veux 1453. </p> <pre class="brush:php;toolbar:false;">[ {id : 60, itemName : 'Emplacement principal - 1100 Superior Road - Cleveland'} {id : 1456, itemName : 'Troisième emplacement - 107, West 20th Street, Manhattan - New York'} ] [60, 1453, 1456]≪/pre>≪/p>
P粉930534280P粉930534280454 Il y a quelques jours542

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

  • P粉420868294

    P粉4208682942023-09-04 11:51:50

    Pour plus d'éléments de données et plus encore id,我会选择一种创建Set 通过 mapping 每个 itemList项目的id...

    const idLookup = new Set(itemList.map(({ id }) => id));
    

    Directement des 集合Map 实例比例如更快通过 一次又一次迭代数组查找 包含外部过滤missions.

    Filtrer les listes d'articles sans correspondance-id est aussi simple que...

    const listOfNonMatchingIds = idList.filter(id => !idLookup.has(id));
    

    ...exemple de code...

    const itemList = [
      { id: 60, itemName: 'Main Location - 1100 Superior Road - Cleveland' },
      { id: 1456, itemName: 'Third Location - 107,West 20th Street,Manhattan - New York' },
    ];
    const idList = [60, 1453, 1456];
    
    const idLookup = new Set(itemList.map(({ id }) => id));
    const listOfNonMatchingIds = idList.filter(id => !idLookup.has(id));
    
    console.log({ listOfNonMatchingIds });
    .as-console-wrapper { min-height: 100%!important; top: 0; }

    répondre
    0
  • P粉130097898

    P粉1300978982023-09-04 00:29:22

    Vous pouvez utiliser .map(),然后使用 .filter().includes()

    const data = [
      {id: 60, itemName: 'Main Location - 1100 Superior Road - Cleveland'},
      {id: 1456, itemName: 'Third Location - 107,West 20th Street,Manhattan - New York'}
    ]
    
    const ids = [60, 1453, 1456];
    const dataIDs = data.map(ob => ob.id);  // [60, 1456]
    const notExistentIDs = ids.filter(id => !dataIDs.includes(id));
    
    console.log(notExistentIDs);  // [1453]

    répondre
    0
  • Annulerrépondre