Я пытаюсь найти список объектов, используя список значений и список ключей. Мой первый подход заключается в создании списка объектов с заданным значением. Однако ключ жестко закодирован, и я должен использовать более функциональный подход. Далее, я думаю, что я должен создать список объектов после фильтрации для каждого значения. Тем не менее, я снова жестко кодирую значения. Я не уверен, как передать список значений и список ключей, таких как следующие. Должен ли я использовать объект карты? если так, как я могу извлечь следующие две переменные?:
const list_of_keys = ['color_1', 'color_2', 'color_3']
const list_of_values = ['red','blue','purple']`
const data = [
{make: 'ford',model: 'mustang',color_1: 'red',color_2: '',color_3: ''},
{make: 'ford',model: 'escape',color_1: '',color_2: 'blue',color_3: ''},
{make: 'ford',model: 'expedition',color_1: '',color_2: '',color_3: 'purple'},
{make: 'mercedez',model: 'helicopter',color_1: '',color_2: '',color_3: 'orange'}
]
// hard-coded object keys
const filter_by_multiple_keys = (carObject, Value) => carObject.filter(car =>
car.color_1 === Value ||
car.color_2 === Value ||
car.color_3 === Value
);
// hard-coded values
const filterByColorsObject = list_of_objects => {
const dataArray = [];
dataArray.push(filter_by_multiple_keys(list_of_objects, 'red'));
dataArray.push(filter_by_multiple_keys(list_of_objects, 'blue'));
dataArray.push(filter_by_multiple_keys(list_of_objects, 'purple'));
return(dataArray)
}
console.log(filterByColorsObject(data))