Задать вопрос
@Alex_87

Как вернуть обновлённый массив после сравнения двух массивов?

Всем привет! Прошу помочь разобраться в том, что нужно дописать в условии.

Вот что необходимо получить
const drinks = {
 tea: 2,
 coffe: 4,
 bear: 3
};
 
console.log(toPick(drinks, 'coffe', 'tea')); // { coffe: 4, tea: 2 }


Моя задача.
const drinks = {
 tea: 2,
 coffe: 4,
 bear: 3
};


function toPick(obj, ...arr){
 let result = Object.entries(obj).filter(function(item, index, drinks){
     
     console.log("Смотрим массив arr: " + arr);
     console.log("Есть элемент " + item[0] + " в массиве");
     
     
     if(!arr.includes(item[0])){   
        console.log("Элемента в arr Нет");      
        console.log("//--//--//--//--//--//--"); 
       //  ЗНАЧИТ НУЖНО УДАЛИТЬ ЭЛЕМЕНТ ИЗ Object.entries(obj)  как я понимаю.... ЧТО ЗДЕСЬ ПИСАТЬ?
      }else{
         console.log("Элемент в arr Есть");
         console.log("//--//--//--//--//--//--");
      }
   
   });
    return result;
  
}
 

console.log(toPick(drinks, 'coffe', 'tea')); // { coffe: 4, tea: 2 }
  • Вопрос задан
  • 164 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 2
WblCHA
@WblCHA
function toPick(obj, ...arr){
  return arr.reduce((acc, key) => {
    acc[key] = obj[key];
    return acc;
  }, {})
}
Ответ написан
ProgrammerForever
@ProgrammerForever
Учитель, автоэлектрик, программист, музыкант
let toPick = (obj, ...arr) => {
  return Object.keys(obj)
        .reduce((out, key)=>{
			if(-1!==arr.indexOf(key)){
				out[key]=obj[key];
			};
			return out;
		}, {}
        );    
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы