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);
}