Показать сообщение отдельно
  #9 (permalink)  
Старый 15.12.2019, 15:52
Аспирант
Отправить личное сообщение для Marson Посмотреть профиль Найти все сообщения от Marson
 
Регистрация: 14.08.2018
Сообщений: 65

подскажите как найти в close следующего ближайшего друга и вставить его следующим в name или сразу всем объектом с нужным name and close, а то который уже усажен убрать и взять второго. Нужно вывести новый массив, т.е. сделать push() в result. Нельзя чтобы входной массив мутировал и выводился, нужно вывести новый массив. имена в close я расставил по алфавиту..

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: ['Sun', 'Wog'] }
 ]


 function placeGuests (arr) { 
  let result = [];
 arr.forEach((item, index, array) => {
  item.close.sort((a,b) => { 
    return a > b ?  1 : -1;
  })
     item.close.filter((arr, i) => {
       
        }      
})
  })
  return result;
}

console.log(placeGuests(arr))
Ответить с цитированием