Si A = B = (2, 1, 3)
et (1, 2, 3, 4, 5, 6, 7)
Alors voulez-vous les éléments hors du commun (à savoir, que ce soit des éléments non existant)? Vous pouvez essayer ceci:
//note: could be improved - wrote it quickly
function uncommon(a, b) {
var map = {};
var alreadyAdded = {};
var uncommonElements = [];
var arrays = (a.length > b.length) ?
{first: b, second: a} :
{first: a, second: b};
for(var i = 0; i < arrays.first.length; i++) {
map[arrays.first[i]] = true;
}
for(var i = 0; i < arrays.second.length; i++) {
if(!map[arrays.second[i]]) {
uncommonElements.push(arrays.second[i]);
alreadyAdded[arrays.second[i]] = true;
}
}
for(var i = 0; i < arrays.first.length; i++) {
if(!map[arrays.second[i]] && !alreadyAdded[arrays.first[i]]) {
uncommonElements.push(arrays.first[i]);
}
}
return uncommonElements;
}
Notez également que si vous aviez:
A = B = (2, 1, 3, 9)
et (1, 2, 3, 4, 5, 6, 7)
, vous obtiendrez (2, 1, 3, 9)
dire, les éléments ne se trouvent pas dans l'une.
que voulez-vous dire 1,2,3? De quoi parlons-nous exactement? '' ou ... juste des morceaux aléatoires de texte sur la page? donnez-nous un échantillon HTML. – mpen
Sont-ils simplement dispersés arbitrairement dans le document ou sont-ils des nœuds frères? Cela fait une énorme différence. –
Cela peut être n'importe quoi, dans ce cas les nombres simples sont parfaits aussi. Editer la question – Adam