Hello, welcome to Stackoverflow, the method below checks the similarity and returns the element it considers most similar!
function checkSimilar(collection, a, b) {
var first=0, last=0;
for (var i in collection) {
if (a.indexOf(collection[i]) !== -1) {
first++;
}
if (b.indexOf(collection[i]) !== -1) {
last++;
}
}
if (first == last) {
//iguais
return {all:[a, b], first:null, last:null};
} else if (first > last) {
//a é mais similar
return {all:null, first:a, last:null};
} else {
//b é mais similar
return {all:null, first:null, last:b};
}
}
var similar = checkSimilar(["banana", "uva", "pera"], ["banana", "limao", "pera", "goiaba"],["tomate", "tangerina", "pera", "melancia"]);
console.log(similar)
Another return option would be to edit the code according to your preference:
if (first == last) {
//iguais
return [a, b];
} else if (first > last) {
//a é mais similar
return a;
} else {
//b é mais similar
return b;
}
or:
if (first == last) {
//iguais
return 'a e b são semelhantes';
} else if (first > last) {
//a é mais similar
return 'a é mais similar';
} else {
//b é mais similar
return 'b é mais similar';
}