JSFiddle - React, Tailwind, and code Playground
by Raunak Kathuria
JavaScript
var incoming = {
"id": 'int',
"hash": 'md5',
"automessage": {},
"interests": ["cars", "programming", "stackoverflow"],
};
var waiting_list = [{
"id": 'int',
"hash": 'md5',
"automessage": {},
"interests": ["cats", "animals", "cars"]
}, {
"id": 'int',
"hash": 'md5',
"automessage": {},
"interests": ["programming", "ssh", "stackoverflow"]
}, {
"id": 'int',
"hash": 'md5',
"automessage": {},
"interests": ["climbing", "football", "coffee"]
}];
// var exists = (myNumbers.indexOf(bar) > -1); //true
var largerCount = 0, index;
for (var i = 0; i < waiting_list.length; i++) {
var current = waiting_list[i];
var currentCount = 0;
var incoming_array = incoming.interests;
for (var j = 0; j < incoming_array.length; j++) {
if(current.interests.indexOf(incoming_array[j]) > -1) {
currentCount++;
}
if(currentCount > largerCount) {
largerCount = currentCount;
index = i;
}
}
currentCount = 0;
}
if(index) {
console.log(waiting_list[index]);
} else {
// add to waiting list
waiting_list.push(incoming);
}