вы можете пожалуйста помочь мне дописать мой код? В конце не могу правильно рассадить гостей, т.е запушить в result. В конце нужно из arr[0] взять close, в нём найти первого сравнить с closeFilter[0] и запушить, потом из того кого запушили, с ним тоже самое сделать..
let arr = [
{ name: 'Ali', close: ['Vasil', 'Wog'] },
{ name: 'San', close: ['Vasil', 'Zena'] },
{ name: 'Vasil', close: ['San', 'Ali'] },
{ name: 'Wog', close: ['Zena', 'Ali'] },
{ name: 'Zena', close: ['San', 'Wog'] }
]
function placeGuests(arr) {
let result = [arr[0]];
for(var i=0; i<arr.length; i++){
сортируем всех кто в close по алфавиту
arr[i].close.sort((a,b) => {
return a > b ? 1 : -1;
})
отсортировываем тех, кто уже усажен из всех close, убираем
var closeFilter = arr[i].close.filter(closeName => {
return !result.find(friend => {
return closeName === friend.name
})
})
здесь нужно запушить того, кто ещё не усажен
var users = arr.filter(el => {
var currentUser = arr[0]
currentUser = el
return currentUser.close.find(u => {
return u === closeFilter[0]
})
})
result.push()
}
return result;
}
console.log(placeGuests(arr));