Déterminer la différence entre les valeurs d'un objet et d'un tableau
P粉930534280
P粉930534280 2023-09-03 19:28:50
0
2
538
<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粉930534280
P粉930534280

répondre à tous(2)
P粉420868294

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; }
P粉130097898

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]
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal