Этот вопрос закрыт для ответов, так как повторяет вопрос Как выбрать из объекта указанные свойства и создать новый объект?
@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 }
  • Вопрос задан
  • 127 просмотров
Решения вопроса 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;
		}, {}
        );    
}
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 20:43
20000 руб./за проект
19 апр. 2024, в 20:11
500 руб./за проект