Нужно сделать этот массив объектов многоразовым в javaScript - PullRequest
0 голосов
/ 11 апреля 2020

В функции карты ... если arrayOfObjects был не "obj.car", а был "obj.animal" или obj.anything ... Я не хочу менять эту строку для каждого массива объекты, которые я использую функцию, которая имеет другое имя свойства. В конечном итоге функция должна принять массив объектов, затем вернуть массив значений и проверить наличие дубликатов, а затем вернуть уникальный массив. Заранее спасибо. Кроме того, я новичок и чувствую, что не должен использовать два оператора возврата в одной функции, поэтому любые советы приветствуются.

const arrObj = [
  { car: "BMW" },
  { car: "Honda" },
  { car: "BMW" },
  { car: "BMW" },
];

const duplicates = (arrayOfObjects) => {
  var finalArray = arrayOfObjects.map((obj) => {
    return obj.car;
  });
  const uniqueSet = new Set(finalArray);
  const uniqueArr = [...uniqueSet];
  return uniqueArr;
};
console.log(duplicates(arrObj));



1 Ответ

1 голос
/ 11 апреля 2020

Сделайте так, чтобы ваша функция duplicates также принимала клавишу, затем используйте скобку для поиска этой клавиши:

const arrObj = [
  { car: "BMW" },
  { car: "Honda" },
  { car: "BMW" },
  { car: "BMW" },
];

const duplicates = (arrayOfObjects, key) => {
  var finalArray = arrayOfObjects.map((obj) => {
    return obj[key];
  });
  const uniqueSet = new Set(finalArray);
  const uniqueArr = [...uniqueSet];
  return uniqueArr;
};
console.log(duplicates(arrObj, 'car'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...