Existe-t-il un moyen de renvoyer les valeurs manquantes de list from list dans TypeScript?
Exemple de formulaire:
var a1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
var a2 = ['a', 'b', 'c', 'd', 'z'];
La valeur de résultat est
['e', 'f', 'g'].
merci d'avance
Il existe probablement de nombreuses façons, par exemple en utilisant Array.prototype.filter () :
var a1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
var a2 = ['a', 'b', 'c', 'd'];
let missing = a1.filter(item => a2.indexOf(item) < 0);
console.log(missing); // ["e", "f", "g"]
La fonction filter
parcourt les éléments de a1
et il le réduit (mais dans un nouveau tableau) aux éléments qui sont dans a1
(parce que nous itérons sur ses éléments) et manquent dans a2
.
Éléments dans a2
qui manquent dans a1
ne sera pas inclus dans le tableau de résultats (missing
) car la fonction de filtre n'itère pas sur a2
éléments:
var a1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
var a2 = ['a', 'b', 'c', 'd', 'z', 'hey', 'there'];
let missing = a1.filter(item => a2.indexOf(item) < 0);
console.log(missing); // still ["e", "f", "g"]
TypeScript ne fournit qu'une aide à la conception/compilation, il n'ajoute pas de fonctionnalités JavaScript. Ainsi, la solution qui fonctionne en JavaScript fonctionnera en TypeScript.
De nombreuses façons de résoudre ce problème, mon choix serait le lodash: https://lodash.com/docs#difference
_.difference(['a', 'b', 'c', 'd', 'e', 'f', 'g'],['a', 'b', 'c', 'd']);