JSFiddle - React, Tailwind, and code Playground

by Dmitry Kostenko

JavaScript

var company = [];

function createPerson(name,salary,skills){
	var person = {
		name:name,
		salary:salary,
		skills:skills
	};
	return person;
};

function addPersonToCompany(company,person){
	company.push(person);
	return company;
};

var person = createPerson("vlad",15,["CEO"]);
var person2 = createPerson("Peter",200,["JS", "PHP"]);
var person3 = createPerson("Alex",134,["Java"]);
var person4 = createPerson("Mary",100,["C++", "Lua"]);

addPersonToCompany(company, person);
addPersonToCompany(company, person2);
addPersonToCompany(company, person3);
addPersonToCompany(company, person4);

function findLuckyRichPerson( company ){
	var maxSalary = 0;
	var maxPersonIndex = 0;
	for ( var i = 0; i < company.length; i++){
		//console.log(company[i].salary);
		if (company[i].salary > maxSalary){
			maxSalary = company[i].salary;
			maxPersonIndex = i;
		}
	}
	return company[maxPersonIndex];
};

function getPersonBySkill(company,skill) {
	
	for ( var i = 0; i < company.length; i++){
		if (company[i].skills.includes(skill) ){
			return company[i];
		}
	}
}

function addSkill(company,personName,skill){
	for (var i = 0,person; i < company.length; i++){
		person = company[i];
		if (person.name === personName) {
			person.skills.push(skill);
		}
	}
	return company;
}

addSkill(company,'Alex', 'java2');
getPersonBySkill(company,'CEO');

function detectSkillFromPerson(company, name, skill){
	for(var i=0;i<company.length;i++){
		if(company[i].name === name ){
			return company[i].skills.includes(skill);
		}	
	}
}

console.log(detectSkillFromPerson(company,"Alex","Java"))