JSFiddle - React, Tailwind, and code Playground

by LuckyCat

JavaScript

'use strict';

// Нужно отсортировать юзеров(массив) по наличию в них установленного скилла
/*
let users = [
    {name: 'Alex', experience: ['React', 'Babel']},
    {name: 'Boba', experience: ['Ember', 'jQuery']},
    {name: 'Lola', experience: ['Angular', 'TS']},
];
// Нужны только люди с такими скилами
let skills = ['Angular', 'React'];

*/
// Solutions: 



let users = [       
    {name: 'Alex', experience: ['React', 'Babel']},
    {name: 'Boba', experience: ['Ember', 'jQuery']},
    {name: 'Lola', experience: ['Angular', 'TS']}
];
let skills = ['Angular', 'React'];

/*function getValues(array, search) {
    var res = 0;
    
    for (var i=0; i < array.length; i+=1) {
    
    	console.dir(array[i]);
      
    	for (var propName in array[i]) {
        console.log(array[propName]);
      }
    
    }
    
    //console.dir(users[0].name);
    return res;
}*/

function getUserBySkills(users, skills) {
 var result = [];
  
 skills.forEach(function (val) {
   users.forEach(function (user) {
     if (user.experience.indexOf(val) !== -1) {
       result.push(user);
      }
    });
  });
  
  return result;
}

console.log(
  getUserBySkills(users, skills)
);


//console.log(getValues(users, skills));

/*function getValues(array, search) {
    return array.reduce(function(values, item){
        (item.experience[0] === search || item.experience[1] === search)  && values.push(item.name);
        return values;
    }, []);
}

console.log(getValues(users, "TS"));*/